Heim > Artikel > Backend-Entwicklung > Wie behebt man den C++-Kompilierungsfehler: „Undefinierter Verweis auf „Funktion''?
C++-Kompilierungsfehler lösen: „Undefinierter Verweis auf „Funktion“, wie kann man ihn lösen?
1. Problembeschreibung
Beim Programmieren in C++ stoßen wir häufig auf Kompilierungsfehler. Diese Fehlermeldung weist darauf hin, dass der Verweis auf eine bestimmte Funktion undefiniert ist. Dieser Fehler tritt normalerweise während der Verknüpfungsphase auf, wenn der Compiler die Definition der Funktion nicht finden kann, was dazu führt, dass die Kompilierung fehlschlägt.
2. Fehlerursache
3. Lösung
Für die oben genannten Fehlergründe finden Sie hier einige gängige Lösungen.
// function.h int sum(int a, int b);
// main.cpp #include "function.h" int main() { int result = sum(1, 2); return 0; }
Im obigen Code stellen wir nur die Funktionsdeklaration bereit, nicht jedoch die Funktionsdefinition. Um dieses Problem zu lösen, müssen wir die Definition der Funktion an der entsprechenden Stelle bereitstellen:
// function.cpp int sum(int a, int b) { return a + b; }
Auf diese Weise kann der Compiler zur Kompilierungszeit die tatsächliche Definition der Funktion finden und so den „undefinierten Verweis auf „Funktion““ lösen. " Fehler.
Betrachten Sie das folgende Codebeispiel:
// function.h float sum(int a, int b); // 函数声明
// function.cpp int sum(int a, int b) { // 函数定义 return a + b; }
Im obigen Code sind die Deklaration und die definierten Rückgabewerttypen der Funktion inkonsistent, einer ist als Float-Typ und der andere als Int-Typ definiert. Dies führt dazu, dass der Compiler den Verweis und die Definition der Funktion nicht korrekt zuordnen kann, was zu einem Fehler „Undefinierter Verweis auf ‚Funktion‘“ führt.
Um dieses Problem zu lösen, müssen wir nur die Deklaration der Funktion mit dem definierten Rückgabewerttyp konsistent halten:
// function.h int sum(int a, int b); // 函数声明
// function.cpp int sum(int a, int b) { // 函数定义 return a + b; }
Auf diese Weise kann der Compiler die Referenz und Definition der Funktion korrekt zuordnen und so das Problem lösen Fehler „undefinierter Verweis auf ‚Funktion‘“.
4. Zusammenfassung
In der C++-Programmierung sind Kompilierungsfehler für uns kein Unbekannter. Einer der häufigsten Fehler ist „undefinierter Verweis auf ‚Funktion‘“, was bedeutet, dass für einen Verweis auf eine Funktion keine Definition gefunden wurde. Um dieses Problem zu lösen, müssen wir darauf achten, ob die Definition der Funktion bereitgestellt wird und ob die Deklaration der Funktion mit ihrer Definition übereinstimmt. Dieses Problem kann leicht gelöst werden, indem die Definition der Funktion korrekt bereitgestellt wird und die Funktionsdeklaration mit der Definition konsistent gehalten wird.
Das obige ist der detaillierte Inhalt vonWie behebt man den C++-Kompilierungsfehler: „Undefinierter Verweis auf „Funktion''?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!