gpt4 book ai didi

c++ - 错误 C2059 : 'constant' when trying to create a Qt container in a header file with known size

转载 作者:行者123 更新时间:2023-11-28 00:35:19 25 4
gpt4 key购买 nike

我将 Qt 4.8.5 与来自 Windows 7.0 SDK 的 MSVC 2010 编译器和调试器一起使用,并将 Qt Creator 作为我的 IDE。

以下语法可以正常工作:

class Device
{
public:
Device();
....
QVector<double> MyContainer;
....
protected:
....
}

,其中QContainer可以是QVector、QList...等,T可以是任何类型。

但以下语法被 Qt 创建者拒绝并在尝试编译时显示“错误 C2059”:

class Device
{
public:
Device();
....
QVector<double> MyContainer(100);
....
protected:
....
}

我很困惑,因为文档说语法“QContainer = MyContainer(szie)”是合法的,但我的 Qt 创建者无法阅读,它告诉我有一个“意外的标记‘(’”。

我做错了吗?

最佳答案

这是因为您正试图分配给一个类型QVector<double>是一种类型,而不是变量声明或您可以分配给的任何其他内容。这意味着两个例子实际上都是错误的。

我想你的意思是声明成员变量MyContainer ,你应该使用

QVector<double> MyContainer;

要将容器初始化为特定大小,您必须使用构造函数初始化列表:

Device()
: MyContainer(100)
{
...
}

有关初始化列表的更多信息,请参见例如this tutorial , 或 this reference .

关于c++ - 错误 C2059 : 'constant' when trying to create a Qt container in a header file with known size,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21159520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com