- 159 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 20:17:56 ]
- boost::lambda::bindで下のコードがコンパイルエラーとなります。
(1)のところを la::bind(&human::use, man, la::var(t))(); としても同じでした。 因みにboost::bindを使用した場合は bind(&human::use, man, ref(t))(); とするとコンパイルエラーが発生しないようになりました。 lambda::bindを使用した場合にでるコンパイルエラーを回避する方法はないでしょうか? 環境:WinXP, VC8, boost1.38.0 // main.cpp #include <boost/lambda/bind.hpp> #include <boost/lambda/lambda.hpp> #include "create.hpp" #include "human.hpp" #include "tool.hpp" namespace la = boost::lambda; int main() { human man; tool* t(create_tool()); // toolは抽象クラス la::bind(&human::use, man, t)(); // -----(1) delete t; }
|

|