C++ 如何从模板中的main()调用显式实例化声明函数?你能用下面给出的代码解释一下吗 模板 类数组 { public:void mf()#1 }; 模板类数组;//显式实例化#2 模板无效数组::mf();//显式实例化#3 void main() { 数组a;//隐式实例化 //我的问题是如何从main()调用#2中的mf() }

C++ 如何从模板中的main()调用显式实例化声明函数?你能用下面给出的代码解释一下吗 模板 类数组 { public:void mf()#1 }; 模板类数组;//显式实例化#2 模板无效数组::mf();//显式实例化#3 void main() { 数组a;//隐式实例化 //我的问题是如何从main()调用#2中的mf() },c++,C++,(如果你真的不知道,Stackoverflow不是你所需要的。请寻求帮助。)问题有点不清楚,因此如果我搞错了,请道歉 在显式实例化上调用函数就像在隐式实例化上调用函数一样,即 a.mf(); 数组c; c、 mf(); 要使其工作,必须在显式实例化Array时提供Array::mf()的定义,或者定义Array::mf()的专门化。因此,如果您有以下两种情况之一,上述代码将起作用: Array<char> c; c.mf(); 模板无效数组::mf(){cout Array&l

(如果你真的不知道,Stackoverflow不是你所需要的。请寻求帮助。)

问题有点不清楚,因此如果我搞错了,请道歉

在显式实例化上调用函数就像在隐式实例化上调用函数一样,即

a.mf();
数组c;
c、 mf();
要使其工作,必须在显式实例化
Array
时提供
Array::mf()
的定义,或者定义
Array::mf()
的专门化。因此,如果您有以下两种情况之一,上述代码将起作用:

Array<char> c;
c.mf();
模板无效数组::mf(){cout
Array<char> c;
c.mf();
template <typename T> void Array<T>::mf() {cout << "Hello\n";}
template class Array<char>;
template <> void Array<char>::mf() {cout << "Hello\n";}