Korzystanie z nazwy funkcji bez () nie tworzy kodu
Gdy używana jest nazwa funkcję zadeklarowane w programie bez nawiasów, kompilator nie produkuje kodu.Dzieje się tak niezależnie od tego, czy funkcja pobiera parametry, ponieważ kompilator oblicza adresu funkcji; Jednakże ponieważ nie występuje operator wywołanie funkcji "()", nie rozmowy.Wynik ten jest podobny do następującego:
// compile with /Wall to generate a warning
int a;
a; // no code generated here either
W programie Visual C++ nawet przy użyciu poziom ostrzeżeń 4 generuje nie diagnostyczne dane wyjściowe.Ostrzeżenie nie jest generowane; żaden kod nie jest produkowany.
Poniższy kod przykładowy kompiluje (z ostrzeżeniem) i łączy poprawnie bez błędów, ale daje żadnego kodu w odniesieniu do funcn( ).Aby to działało poprawnie należy dodać operator wywołanie funkcji "()".
#include <stdio.h>
void funcn();
int main() {
funcn; /* missing function call operator;
call will fail. Use funcn() */
}
void funcn() {
printf("\nHello World\n");
}