[過去ログ]
Boostを語れゴラァ part3 (1001レス)
Boostを語れゴラァ part3 http://echo.5ch.net/test/read.cgi/tech/1158991211/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
175: デフォルトの名無しさん [] 2006/10/22(日) 01:05:59 template <typename A, typename B, typename C> int foo(A a, B b, C c) { return 0; } template <typename A, typename B> int foo(A a, B b) { return 0; } に対して、後者の関数をbindするつもりで boost::bind(foo<int,int>, _1, 100); すると、no matching function for call to ‘bind(<unresolved overloaded function type>, boost::arg<1>&, int)’ とか言われてしまうんだが、これって回避策ありますか? gcc4.1です http://echo.5ch.net/test/read.cgi/tech/1158991211/175
176: デフォルトの名無しさん [sage] 2006/10/22(日) 01:12:24 >>175 boost::bind(static_cast<int (*)(int, int)>(foo), _1, 100) http://echo.5ch.net/test/read.cgi/tech/1158991211/176
177: デフォルトの名無しさん [sage] 2006/10/22(日) 12:38:25 >>175 class Void{}Void_v; template<class T1, class T2, class T3=Void>struct select_f; の特殊化を作ってfooの引数にVoid型があるなしで選択するとかは。 http://echo.5ch.net/test/read.cgi/tech/1158991211/177
185: デフォルトの名無しさん [sage] 2006/10/22(日) 16:38:15 >>183 たとえば、>175を template <typename A, typename B> int foo(A a, B b); (b) template<class A, class B>int foo(A*,B*); (c) こんな(c)を追加して、(c)or(b)のどちらかをbindで使いたい場合 このオーバーロードの解決には結局、関数オブジェクトが手っ取り早いと思います。 http://echo.5ch.net/test/read.cgi/tech/1158991211/185
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.027s