-4
Der Funktionsaufruf unten generiert Compilerfehler:Funktionsaufruf als Erklärung interpretiert
void myfun() {}
myfun(); // error:
// gcc -- error: expected constructor, destructor, or type conversion before ';' token
// clang -- error: C++ requires a type specifier for all declarations
int main()
{
// ...
}
Kann jemand erklären? Wie wird der Funktionsaufruf mit einer Deklaration verwechselt? Warum verschwindet der Fehler, wenn der Funktionsaufruf innerhalb von main()
verschoben wird?
Sie können eine Funktion dort nicht anrufen. – DimChtz
Funktionsaufrufe müssten innerhalb von main oder innerhalb einer anderen Funktion (oder Elementfunktion) gehen. – Steve
_ "Diese Frage wurde durch ein Problem verursacht, das nicht mehr reproduziert werden kann oder ein einfacher Tippfehler. Ähnliche Fragen können hier zum Thema gehören Dieser wurde in einer Weise gelöst, die den zukünftigen Lesern wahrscheinlich nicht hilft. Dies kann oft vermieden werden, indem das kürzeste Programm identifiziert und genau untersucht wird, bevor das Problem reproduziert wird. "_ – user0042