Použití názvu funkce bez závorek () nevygeneruje žádný kód
Při použití názvu funkce deklarované v programu bez závorek nevytváří kód kompilátoru.K této situaci dochází bez ohledu na to, zda funkci přebírá parametry, protože kompilátor vypočítá adresa funkce; ale protože operátor volání funkce "()" není k dispozici žádná volání provedeno.Tento výsledek je podobný následujícímu:
// compile with /Wall to generate a warning
int a;
a; // no code generated here either
V aplikaci Visual C++ ani pomocí úroveň pro upozornění 4 generuje žádné diagnostické výstup.Není vydáno žádné varování; je vyráběn žádný kód.
Následující ukázkový kód zkompiluje (s upozorněním) a odkazy správně bez chyby ale dává žádný kód reference na funcn( ).Tento postup fungovat správně Přidání operátora volání funkce "()".
#include <stdio.h>
void funcn();
int main() {
funcn; /* missing function call operator;
call will fail. Use funcn() */
}
void funcn() {
printf("\nHello World\n");
}