-2
C++模板中的template<typename T, T*>
是什麼意思? 而在什麼情況下,我應該使用它?C++模板中模板<typename T,T *>的含義是什麼?
#include <iostream>
using namespace std;
template<typename T, T*>
void test(T a)
{
cout << "test template\n";
}
int main(int argc, char **argv)
{
test(10);
return 0;
}
我從上面的代碼中有一個編譯錯誤。
./test.cpp: In function ‘int main(int, char**)’:
./test.cpp:12: error: no matching function for call to ‘test(int)’
變化test(10);
到test<int, int*>(10);
,仍然不能正常工作。
它被稱爲[*非類型模板參數*](http://en.cppreference.com/w/cpp/language/template_parameters#非type_template_parameter) – NathanOliver
@NathanOliver如何調用模板函數測試? –