如果我单独在头文件中执行此操作,则可以正常工作:
generic<typename T>
ref class MyGenericClass
{
protected:
T m_someInternalInformation;
public:
MyGenericClass(void)
{
}
};
...但如果我改变.h文件看起来像这样:
generic<typename T>
ref class MyGenericClass
{
protected:
T m_someInternalInformation;
public:
MyGenericClass();
};
...和这样的.cpp文件:
#include "MyGenericClass.h"
MyGenericClass::MyGenericClass(void)
{
}
我收到编译错误:
1>MyGenericClass.cpp(4): error C2955: 'MyGenericClass' : use of class generic requires generic argument list
我尝试添加有关构造函数定义的通用定义:
#include "MyGenericClass.h"
generic<typename T>
MyGenericClass::MyGenericClass(void)
{
}
...但我得到了同样的错误。我在这里缺少什么?
答案 0 :(得分:2)
找到答案:
generic<typename T>
MyGenericClass<T>::MyGenericClass(void)
{
}
请注意<T>
之前的::
。