Sdílet prostřednictvím


Pomocí názvu funkce bez () vytváří žádný kód

Při použití názvu funkce deklarované v programu bez závorek kompilátor nevytvářejí kód.K tomu dochází bez ohledu na to, zda funkce přijímá parametry, protože kompilátor adresu 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 jazyce C++ i 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 chyb, ale dává žádný kód odkazem na funcn( ).Tento postup správně přidáte operátor 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");
}

Viz také

Koncepty

Optimalizace kódu