std :: bindを正しく理解していれば、もう1つの厄介なエラーメッセージが表示されます。引数は、指定_1
されていない引数を定義するのが好きですか?右?次の行をよく考慮してください。
std::function<bool(value_type, const std::string &)>
func(std::bind(&Pred, _1, "name"));
これはうまくいくはずですよね?これはstd::find_if()関数に使用されます。そのため、最初の引数は値型で、2番目は文字列である必要があります。
ただし、Visual Studio 2010は、次のエラーメッセージでこれについて文句を言います。
エラーC2065:'_1':宣言されていない識別子
それは奇妙なことです。ビジュアルスタジオで「最初の議論は束縛されていません」とどうやって言うことができますか。Predは、value_type, const std::string&
引数としてブール値を返す単純な関数です。