0

我正在为家庭作业编写一个 qt 应用程序,我需要对其进行调试以解决问题,但是当我尝试QVector<double>在本地和表达式中查看(例如)时,我遇到了 gdb 问题,但是当我尝试读取时,QVector<QVector<double> >我得到了消息,我试图改变显示格式,但我没有走运。我将 QT 5.2.1 用于带有 Qtcreator 3.0 的 Windows 我有这个示例代码来填充 aQVector<QVector<double> >以将其传递给另一个类(我需要调试)

for (int i = 1; i < npc.size(); i++) {
    capa = new QVector<QVector<double> >();
    for (int j = 0; j < npc[i]; j++) {
        pesos = new QVector<double>();
        for (int k = 0; k < npc[i-1]; k++) {
            pesos->append((double)1/(double)(k+1));
        }
        capa->append(*pesos);
    }
    nPesos.append(*capa);
}

在 qt creator 我可以读取每个pesos实例,但我无法读取capa,我需要它来解决我的问题

编辑:我尝试了@Nejat 的答案,我可以阅读单个QVector<QVector<double> >但不是当它在里面时QList(所以我可以单独阅读每个capa但不是nPesos

4

1 回答 1

0

这是因为您使用的是指向 QVector 的指针。不需要使用指针。您可以像这样简单地使用它:

QVector<QVector<QVector<double> > > nPesos;
for (int i = 1; i < npc.size(); i++) {
    QVector<QVector<double> > capa;
    for (int j = 0; j < npc[i]; j++) {
         QVector<double> pesos;
        for (int k = 0; k < npc[i-1]; k++) {
            pesos.append((double)1/(double)(k+1));
        }
        capa.append(pesos);
    }
    nPesos.append(capa);
}
于 2014-04-16T03:31:39.963 回答