テンプレートを使用して関数を定義しようとしています。型名をintまたはanEnum(定義した特定の列挙型)にしたいのですが。私は以下を試しましたが失敗しました:
template <int | anEnum T> // or <int T, anEnum T> or <int, anEnum T>
bool isFunction(const T &aVariable){}
私がやろうとしていることは、2つのオーバーロードされた関数を定義する代わりに、テンプレートを使用することです。プログラマがタイプを考慮する必要なしに、次のように関数を呼び出す方がいいです
isFunction(aVariable) // and not isFunction<int> (aVariable) nor isFunction<anEnum> (aVariable)
基本的に、この関数をintおよびaNumタイプ用にテンプレート化します。私はこれを検索しましたが、答えが見つかりませんでした。何が欠けているのでしょうか?ありがとうございました、
false
他の型に戻りたいですか、それとも他の型の関数をインスタンス化しないか。