C++相談室 part112at TECHC++相談室 part112 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト715:デフォルトの名無しさん 14/05/26 09:20:12.29 sSiCZOUk >>713はエスパーなのか? 716:デフォルトの名無しさん 14/05/26 13:27:45.99 yHJImmyi アスペーvsエスパー 717:デフォルトの名無しさん 14/05/26 21:16:32.24 l0k3Jdk0 関数のtemplate初心者です。 あまり良い例ではないかもしれませんが、以下のような関数を作った場合、 templateを使って引数では、string,char か wstring,wchar_t のどちらにも対応できますが、 関数の中で string,char対応の関数(sprintf)を使う場合と wstring,wchar_t対応の関数(wsprintf)を使う場合と どうやって切り替えたらよいのでしょうか? template<typename stringT, typename charU> stringT join_string_and_char(const stringT &str, const charU c){ charU stringJoined[100]; // sprintf(stringJoined, "%s and %c", str.c_str(), c); wsprintf(stringJoined, L"%s and %c", str.c_str(), c); return stringJoined; } void main(){ // string result1 = join_string_and_char<string, char>("string", 'C'); // cout << result1 << endl; wstring result2 = join_string_and_char<wstring, wchar_t>(L"wstring", 'C'); wcout << result2 << endl; } 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch