#include "functions.h" void functionB() {} // declared & defined void functionC(); // declared void functionD(); // declared int main() { //functionA(); // compiler error, because function is declared & defined after this call functionB(); // no error //functionC(); // linker error, because function is declared, but not defined functionD(); // no error functionE(); // no error return 0; } void functionA() {} // declared & defined void functionD() {} // defined