Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn ein im Programm deklarierter Funktionsname ohne Klammern verwendet wird, generiert der Compiler keinen Code.Die geschieht unabhängig davon, ob die Funktion Parameter erwartet oder nicht, da der Compiler die Funktionsadresse berechnet. Da jedoch der Aufrufoperator "()" nicht vorhanden ist, wird kein Aufruf ausgeführt.Das Ergebnis ist ähnlich dem folgenden Beispiel:
// compile with /Wall to generate a warning
int a;
a; // no code generated here either
In Visual C++ wird nicht einmal bei Warnstufe 4 eine diagnostische Ausgabe generiert.Es wird keine Warnung ausgegeben und kein Code generiert.
Der Beispielcode weiter unten wird (mit einer Warnung) kompiliert und ohne Fehlermeldungen korrekt verknüpft. Dennoch wird beim Verweis auf funcn( ) kein Code generiert.Damit der Code korrekt kompiliert wird, fügen Sie den Aufrufoperator "()" hinzu.
#include <stdio.h>
void funcn();
int main() {
funcn; /* missing function call operator;
call will fail. Use funcn() */
}
void funcn() {
printf("\nHello World\n");
}