'&': недопустимая операция над выражением связанной функции-члена

Просто вхожу в QT, и я пытаюсь создать массив текстовых полей LineEdit.

ошибка: C2276: '&': недопустимая операция над выражением связанной функции-члена

в следующей строке:

QList<QLineEdit *> leBetList = parentWidget.findChildren<QLineEdit *>("leBet0");

У меня есть 5 блоков QLineEdit с именами leBet0, leBet1 и т. д.

Вот остальная часть кода:

главное окно.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QLineEdit>
#include <QList>
#include <QString>


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{

    ui->setupUi(this);
}

MainWindow::~MainWindow()
{

    delete ui;
}


void MainWindow::on_pushButton_clicked()
{
     QString sBetStreet[5];
     int iBetStreet[5];

     QList<QLineEdit *> leBetList = parentWidget.findChildren<QLineEdit *>("leBet0");


    for(int i=0;i<5;i++)
    {
        sBetStreet[i] = ui->leBetList[i]->text();
        iBetStreet[i]=sBetStreet[i].toInt();
    }

    int iBetResult=iBetStreet[0]+iBetStreet[1];
    QString sBetResult;
    sBetResult=QString::number(iBetResult);

    ui->teOutput->setText(sBetResult);

}

person chuckieDub    schedule 25.12.2012    source источник


Ответы (1)


parentWidget — это функция. Вы должны позвонить ему

parentWidget()->findChildren ...

Сообщение об ошибке плохого компилятора, вероятно, относится к его внутреннему представлению, которое, по-видимому, применяет неявную операцию & к имени функции-члена.

person Johannes Schaub - litb    schedule 26.12.2012
comment
Это позволило приложению собраться, однако программа вылетает, когда я нажимаю кнопку запуска с ошибкой: Ошибка ASSERT: QList‹T›::operator: index out of range - person chuckieDub; 26.12.2012