C++0x で、ラムダ関数をパラメータとして受け取る関数はテンプレート関数でないといけないんだろうーか

今入っている MinGW32(5.1.6) の gcc が 3.4.5 とバージョンが低いので、20100909版の MinGW32 を導入した。gcc は 4.5.0 になった(満足)
2010-09-26 15:14:26
にっき書いた。C++0x で、ラムダ関数をパラメータとして受け取る関数はテンプレート関数でないといけないんだろうーか。謎が残った ≫ "MHI 3.1 - C++0x の lambda 式を使ってみた" http://t.co/0DxUN29
2010-09-26 16:37:15
C++0x で lambda 式を使うと、vim のシンタックスハイライトでエラー表示されるのが、とても悲しい。
2010-09-26 16:41:49
@zetamatta ラムダ関数のシグネチャはコンパイラの外から不可視なので、暗黙の型変換で普通の関数ポインタに変換できない場合(つまりキャプチャがある場合とか)はテンプレート使うしかないでしょうね
2010-09-26 16:45:05
内部的には、「引数がこういう型で、戻り値がこういう型で、こういう型の変数をキャプチャしてるようなラムダ関数」っていうシグネチャがあると思うんだけど
2010-09-26 16:47:37
@AoiMoe やはり、そうですか。あまり、これに言及したページがなかったので、漠然とした推測でしたが、お言葉でシックリきました。ありがとうございます。
2010-09-26 16:50:06
「W^X」 って何かと思ったら、Write Xor Execute ってことか。書ける領域は実行できないようにするってわけですね ≫W^X - Wikipedia, the free encyclopedia http://t.co/28AHQ69
2010-09-26 17:26:36
@zetamatta std::functionでOK http://togetter.com/li/53940
2010-09-26 18:48:30
にっき書いた:テンプレート以外に std::function を使うという方法もあるようだ。どういう仕組みになっているんだろう ≫ "MHI 3.1 - 続・C++0x の lambda 式を使ってみた" http://t.co/oAcFFTv via @zetamatta
2010-09-26 20:21:53
曰く『この記事は、C++0xのlambdaを完全に解説せんとする目的を以て書かれた』― おぉ! / 本の虫: lambda 完全解説 http://htn.to/58wXZJ
2010-09-26 20:27:50
しかし、std::function を使うっていうのも、ある意味、テンプレート使ってることには変わりないかな。
2010-09-26 20:43:03