Qt C++ - Creation QList<Myclass> - 不是参数 'T 的有效模板类型参数
Qt C++ - Creation QList<Myclass> - is not a valid template type argument for parameter 'T
我刚开始使用 C++ Qt,我编写了以下 .h 文件:.cpp 文件仅包含空的构造函数和析构函数。
#include <QList>
class XML_Files
{
public:
XML_Files();
~XML_Files();
protected:
QList<Myclass> m_Xmls;
};
class Myclass
{
public:
Myclass();
~Myclass();
protected:
int a;
};
但我不断收到以下错误:
error C2065: 'Myclass': undeclared identifier
error C2923: 'QList': 'Myclass' is not a valid template type argument for parameter 'T'
我需要做什么才能用我自己的数据类型声明一个 Qlist
?
在编译器知道之前,您不能使用名称 MyClass
。由于您在 XML_Files
之后才声明 MyClass
,因此您不能在 XML_Files
.
中使用它的名称
此处最简单的解决方案是仅更改声明的顺序并在 XML_Files
.
之前声明 MyClass
解决此问题的简单方法是调换两者的顺序 类。但是,如果不需要或不可能,还有第二种解决方案:
您可以在定义之前声明 Myclass
。那么编译就成功了。
#include <QList>
class Myclass;
class XML_Files
{
public:
XML_Files();
~XML_Files();
protected:
QList<Myclass> m_Xmls;
};
class Myclass
{
// ...
};
我刚开始使用 C++ Qt,我编写了以下 .h 文件:.cpp 文件仅包含空的构造函数和析构函数。
#include <QList>
class XML_Files
{
public:
XML_Files();
~XML_Files();
protected:
QList<Myclass> m_Xmls;
};
class Myclass
{
public:
Myclass();
~Myclass();
protected:
int a;
};
但我不断收到以下错误:
error C2065: 'Myclass': undeclared identifier
error C2923: 'QList': 'Myclass' is not a valid template type argument for parameter 'T'
我需要做什么才能用我自己的数据类型声明一个 Qlist
?
在编译器知道之前,您不能使用名称 MyClass
。由于您在 XML_Files
之后才声明 MyClass
,因此您不能在 XML_Files
.
此处最简单的解决方案是仅更改声明的顺序并在 XML_Files
.
MyClass
解决此问题的简单方法是调换两者的顺序 类。但是,如果不需要或不可能,还有第二种解决方案:
您可以在定义之前声明 Myclass
。那么编译就成功了。
#include <QList>
class Myclass;
class XML_Files
{
public:
XML_Files();
~XML_Files();
protected:
QList<Myclass> m_Xmls;
};
class Myclass
{
// ...
};