Was ist der Unterschied zwischen Deklaration und Definition in C++?
Hallo zusammen! Ich habe gerade angefangen, C++ zu lernen und bin bei den Begriffen "Deklaration" (declaration) und "Definition" (definition) verwirrt. Beides scheint mit der Erstellung von Variablen und Funktionen zu tun zu haben, aber ich verstehe den grundlegenden Unterschied nicht.\n\nZum Beispiel schreibe ich diesen Code:\n\n```cpp\nint x; // Ist das eine Deklaration oder eine Definition?\nextern int y; // Und das?\nvoid foo(); // Und das?\nvoid foo() { } // Und das?\n```\n\nWenn ich `int x;` innerhalb einer Funktion schreibe, erstellt der Compiler eine Variable und weist ihr Speicher zu. Aber wenn ich `extern int y;` schreibe, wird das Programm nicht kompiliert, wenn ich nicht irgendwo `int y;` hinzufüge. Warum ist das so? Was ist die Logik dahinter?\n\nAußerdem habe ich gehört, dass man eine Deklaration wiederholen kann, eine Definition aber nicht. Aber in der Praxis erhalte ich einen Fehler "multiple definition", wenn ich zweimal
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen