- 819 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:23:06 ]
- std::vector<std::string> vtSource; を UTF16 に変換して std::vector<std::wstring> vtDest; に保存したいと思っています.
// string >> wstring 変換関数(中身はダミー) std::wstring A2WString(const std::string& strSource)) { return std::wstring(L"out"); } この変換関数での変換は以下のコードでできました. std::vector<std::string> vtSource; std::vector<std::wstring> vtDest; vtSource.push_back( "AbC" ); std::transform( vtSource.begin(), vtSource.end(), std::inserter( vtDest, vtDest.end() ), A2WString ); しかし,変換関数にデフォルト引数があるとコンパイルエラーになりました. std::wstring A2WString2(const std::string& strSource, int i=0)//デフォルト引数がある { return std::wstring(L"out"); } transform 第4引数で bind2nd や ptr_fun を使用すればいいような気がするんですが,どのように書けばいいんでしょうか? std::transform( vtSource.begin(), vtSource.end(), std::inserter( vtDest, vtDest.end() ), std::bind2nd( std::ptr_fun(A2WString2), 0) );//コンパイルエラー Window2000 Visual C++ 2005 express edition
|

|