void foo(int); // function declaration void foo(int a) {} // function definition
auto foo(a) {} // template function definition
void foo(int); // function declaration void foo(int a) {} // function definition
auto foo(a) {} // template function definition