1

有没有不同的方法来创建 QObject 的动态数组?以下代码无法编译:

QStringList labels = defaultScene->getLabels();
QAction* traceActions = new QAction[labels.size()];

错误是:

C2512:“QAction”:没有合适的默认构造函数可用

4

1 回答 1

1

您看到这一点是因为 QAction 没有默认构造函数。

您可以创建一个指向 QAction 的指针数组,然后单独实例化每个 QAction。

大致是这样的:

QAction** actions = new (QAction*)[labels.size()];
for(size_t i = 0; i<labels.size(); ++i)
{
  actions[i] = new QAction(constructor params ...);
}
于 2012-11-26T01:34:46.010 回答