Ich habe ein Problem mit dem Aufruf einer Funktion in einer anderen Klasse in QT Creator.Qt Creator, rufen Sie eine Funktion
Hier in der Hauptklasse mainWindow.cpp
, rufe ich eine Funktion aus studentsearcher.cpp
Dies ist eine Funktion, was geschieht, wenn der Benutzer Taste drückt, und das Problem ist mit diesem
void MainWindow::on_FindButton1_clicked(){
StudentSearcher searchStudent;
searchStudent.exec();
searchStudent.search_id(55); // <---- the problem
}
Daraus ergeben sich die zwei folgenden Fehlermeldungen :
1.undefined reference to StudentSearcher::search_id(int)
2.collect2: ld returned 1 exit status
Hier Teil der StudentSearcher.h Datei ist:
class StudentSearcher : public QDialog
{
Q_OBJECT
public:
explicit StudentSearcher(QWidget *parent = 0);
void search_id(int idNum);
~StudentSearcher();
private slots:
private:
Ui::StudentSearcher *ui;
Und hier ist die Definition der Funktion in der studentSearcher.cpp
void search_id(int idNum){
int idNumber = idNum;
}
Ich habe versucht, dies nun für eine lange Zeit zu beheben, habe ich wie dies einige ziemlich dumme Dinge ausprobiert: searchStudent.exec(search_id(55));
Und dachte, es würde nicht funktionieren, weil ich denke, dass die .exec() ist der Konstruktor Teil .... Sorry, ich bin ein bisschen nooby mit Codierung und QT aber ... Ich kann nicht scheinen scheinen heraus, wie man dieses blöde Ding zur Arbeit bringt. Ich habe viele Dinge ausprobiert, aber ohne Erfolg ...
Hey, als ich die Funktion mit dem, was Sie setzen, ersetzte, hatte es ein Problem mit der Header-Datei. Es hat immer gesagt: Extra Qualifikation 'StudentSearcher ::' auf Mitglied 'search_id' – Gabe
Fixed es, in der Kopfzeile und oben in der cpp-Datei musste die Funktion deklariert werden, wie ich es früher hatte, aber in der Definition wurde es erklärt wie du es vorgeschlagen hast. – Gabe