Boostを語れゴラァ part5
■ このスレッドは過去ログ倉庫に格納されています
0249デフォルトの名無しさん
2007/12/26(水) 16:18:56レスありがとうございます。
アイデアよくわかりました。この考えに従って
自作プログラムをコンパイルしたところ、引数が一つのもの
については成功し実行もできました。
//aはint配列あるいはdouble配列
for_each(a, a + 3, bl::bind(A(), bl::_1)); // OK
ただ、以下はコンパイルエラーとなりました。
//aはint配列
for_each(a, a + 3, bl::bind(A(), bl::_1, 100)); //コンパイルNG
引数が二つ以上のものが実体化されるときにエラーとなるようです。
”認識できない型”と怒られているので、おそらく
bt::cons<Fun, bt::cons<int, bt::cons<int, bt::null_type>が
実体化できない原因かなと思ってるのですが定かではありません。
consの形式自体はヘッドとテイルの2引数を与えていて、bl::null_type
も空の構造体として存在していましたので、型認識に問題は
なさそうなんですが、null_typeが連続して出てくるた
長い行が報告されます。(VC++ 2005 Eepress Edition)
boost::tuples::cons<const A,boost::tuples::cons<int,boost::tuples::cons<const
int,boost::tuples::detail::map_tuple_to_cons<boost::tuples::null_type,bo
ost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type
,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_t
ype,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::nul
l_type>::type>>>
■ このスレッドは過去ログ倉庫に格納されています