2012-12-25 2 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 : "index out of range" – chuckieDub

관련 문제