Saya mencoba untuk mendefinisikan suatu fungsi menggunakan template dan saya ingin nama ketik menjadi int atau anEnum (enum spesifik yang telah saya tetapkan). Saya sudah mencoba yang berikut tetapi saya gagal:
template <int | anEnum T> // or <int T, anEnum T> or <int, anEnum T>
bool isFunction(const T &aVariable){}
Apa yang saya coba lakukan adalah menggunakan template, alih-alih mendefinisikan dua fungsi yang kelebihan beban. Saya lebih suka fungsi dipanggil sebagai berikut, tanpa programmer harus mempertimbangkan jenisnya
isFunction(aVariable) // and not isFunction<int> (aVariable) nor isFunction<anEnum> (aVariable)
Pada dasarnya, saya ingin fungsi ini digunakan untuk tipe int dan aNum. Saya telah mencari ini, tetapi tidak dapat menemukan jawabannya. Apa yang mungkin saya lewatkan? Terima kasih,
false
untuk jenis lain atau ingin tidak instantiate fungsi untuk jenis lain.