2012-04-05 18 views
0

QT作成者の別のクラスで関数を呼び出す際に問題があります。ここでQt Creator、関数を呼び出す

、メインクラスmainWindow.cppで、私はstudentsearcher.cpp から関数を呼び出すこれは、ユーザーがボタンを押したときに起こる関数であり、問​​題はこれが2次のエラー・メッセージを生成し、この

void MainWindow::on_FindButton1_clicked(){ 

     StudentSearcher searchStudent; 
     searchStudent.exec(); 
     searchStudent.search_id(55); // <---- the problem 
} 

であります:ここでは

1.undefined reference to StudentSearcher::search_id(int) 
2.collect2: ld returned 1 exit status 

はStudentSearcher.hファイルの一部です:

class StudentSearcher : public QDialog 
{ 
    Q_OBJECT 

public: 
    explicit StudentSearcher(QWidget *parent = 0); 

    void search_id(int idNum); 

    ~StudentSearcher(); 

private slots: 

private: 
    Ui::StudentSearcher *ui; 

そして、ここでは関数の定義は、私は今、長い間、この問題を解決しようとしてきたstudentSearcher.cpp

void search_id(int idNum){ 
int idNumber = idNum; 

} 

であり、私はこのようないくつかのかなり間抜けなことを試してみた:searchStudent.exec(search_id(55));

.exec()がコンストラクタ部分だと思うので、うまくいきませんでした....申し訳ありませんが、私はコーディングとQTでちょっとノービーですが...私は理解できませんこの愚かなことをどのように働かせるか私は多くのことを試しましたが、役に立たない...

答えて

4

あなたのsearch_idの実装は無料の機能です。

void StudentSearcher::search_id(int idNum){ 
    int idNumber = idNum; 
} 
+0

ちょっと入れてみたら、ヘッダーファイルに問題がありました。それは次のように言っていました: 'search_id'というメンバーの追加の資格 'StudentSearcher ::' – Gabe

+0

cppファイルのヘッダーと上部で、以前のように関数を宣言しなければならなかったのですが、あなたが提案した方法。 – Gabe

関連する問題