[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 12/31 01:11 / Filesize : 246 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.59【環境依存OK】



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






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<246KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef