2012-12-25 16 views
0

刚进入QT,我试图创建一个LineEdit文本框的数组。'&':绑定成员函数表达式的非法操作

错误:C2276: '&':非法上结合的成员函数表达

上下面的行操作:

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

我有5 QLineEdit的盒,命名leBet0,leBet1等

以下是其余代码:

mainwindow.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); 

} 

回答

1

parentWidget是一个函数。你需要调用它

parentWidget()->findChildren ... 

可怜的编译器的错误信息所指的可能是它的内部表示,其在成员函数名称显然适用的隐含&操作。

+0

这允许应用程序构建,但是当我按下带有错误的“运行”按钮时程序崩溃:ASSERT失败是QList :: operator:“索引超出范围” – chuckieDub