#include "functions.h" void functionB() {} // declared & defined void functionC(); // declare void functionD(); // declare 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() {} // declare & defined void functionD() {} // defined