例如,我有以下课程:
template<typename _Type>
class MyClass
{
MyClass();
const MyClass<_Type>& operator*(const MyClass<_Type> &inc);
}
template<typename _Type>
const MyClass<_Type>& MyClass::operator*(const MyClass<_Type> &inc) // very much errors
{
//something
}
我怎么可能这样做?
答案 0 :(得分:0)
首先:因为任何类/结构,模板类在声明后必须有一个终结符;
:
template<typename _Type>
class MyClass
{
// ...
};
// ^
示例中的下一个错误,您忘了指定模板类型:
template<typename _Type>
const MyClass<_Type>& MyClass<_Type>::operator*(const MyClass<_Type> &inc)
// ^^^^^^^
{
//something
}
您也可能会注意到,这只是模板类方法的定义,而不是 overloadng 。