2012-12-25 47 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