[英]Why can't I move my generic constructor into a .cpp file?
如果僅在頭文件中執行此操作,則效果很好:
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)
{
}
...但是我得到了同樣的錯誤。 我在這里想念什么?
找到了答案:
generic<typename T>
MyGenericClass<T>::MyGenericClass(void)
{
}
注意::
之前的<T>
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.