【初心者歓迎】C/C++室 Ver.59【環境依存OK】at TECH
【初心者歓迎】C/C++室 Ver.59【環境依存OK】 - 暇つぶし2ch819:デフォルトの名無しさん
08/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


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch