AnsiString(someStr).c_str()
をboost::split()
第2引数に渡そうとしていますが、引数の不一致を示していません。ここでboost :: split argument mismatch
は、コードスニペット
vector<std::string> sVec;
boost::split(sVec,AnsiString(response).c_str(),boost::is_any_of(" "));//err in this line
ShowMessage(sVec[1].c_str());
しかし
ブースト::スプリット(SVECは、 "これはテストです"、ブースト:: is_any_ofを(」「))です。
がうまく機能します。
私はAnsiStringをC文字列型に変換していますか? sVec
ので
残念ながらいずれも動作しません!勝ち目がない ! 'boost :: algorithm :: split <>(vector>、const char *、boost :: algorithm :: detail:)の一致を見つけることができませんでした。[BCC32 Error] Unit1.cpp(25):E2285 'boost :: algorithm :: split < :) ' 完全なパーサーコンテキスト Unit1.cpp(22):解析:void _fastcall TForm1 :: Button1Click(TObject *) ' –
テンプレートの解決は明らかに暗黙のコンストラクタを考慮しません。 'どちらも動作しない 'と言うと、明示的なコンストラクタ呼び出しでも同じエラーが発生することを意味しますか?その場合はあいまいさがないので、これは奇妙なことです。 –
ええ、確かに!フレデリック!どちらもエラーです! –