Consider the following piece of code:
void func( int aa, int bb, int cc) {} void arity_mismatch() { func(2, 4); }
BEFORE:
source.cpp:6:3: error: no matching function for call to 'func' 6 | func(2, 4); | ^~~~ source.cpp:1:6: note: candidate function not viable: requires 3 arguments, but 2 were provided 1 | void func( int aa, | ^
AFTER:
source.cpp:6:3: error: no matching function for call to 'func' 6 | func(2, 4); | ^~~~ source.cpp:1:6: note: candidate function not viable: requires 3 arguments, but 2 were provided 1 | void func( int aa, | ^ ~~~~~~~ 2 | int bb, | ~~~~~~~ 3 | int cc) {} | ~~~~~~
Why are you casting to void?