cpp
1using namespace std; 2 3template <typename T> 4typename std::enable_if<std::is_integral<T>::value>::type consoleOut(T integral) 5{ 6 cout << "整数型: " << integral << endl; 7} 8 9template <typename T> 10auto consoleOut(T string) 11{ 12 cout << "文字列型:" << string << endl; 13} 14 15int main(int argc, char *argv[]) 16{ 17 consoleOut(1); // 複数の関数テンプレートが当てはまる 18 consoleOut("moji"); 19 20 return 0; 21}
以上のようなコードを記述したところ、引数として1を渡すと複数の関数が該当してしまいます。
2つ目の関数をchar*やstring等の文字列を扱う変数のみに対応させたいです。
良い方法はありますか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/03 05:22