Qt QObject动态数组

时间:2012-11-26 01:26:24

标签: c++ qt

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

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

错误是:

C2512:'QAction':没有合适的默认构造函数

1 个答案:

答案 0 :(得分: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 ...);
}