我在main.cpp
中有一个带有模板的类的以下实例template <class T>
T mypair<T>::getmax ()
{
T retval;
retval = a>b? a : b;
return retval;
}
mypair <int> myobject (100, 75);
我希望有一个头文件,它对这个类实例有一个extern,即&#34; myobject&#34;。
如何实现这一目标?
我已经尝试过:
* extern mypair<int> myobject;
* extern template mypair<int> myobject;
* extern template class mypair<int> myobject;
答案 0 :(得分:0)
您需要在标题中定义模板类,该标题必须包含在extern声明之前。
如果您的编译器遇到标题为extern mypair<int> myobject;
的标题,则它不知道实体mypair
是什么类型。您必须首先定义它 - 通过包含包含模板类的标头。