繁体   English   中英

为什么不能将通用构造函数移动到.cpp文件?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM