> Is an error in C, but surprisingly C++ is less strict here, not only allowing it but also taking the semantics of the definition. (Spooky)
Aren't these just declaring one overload of foo and defining a different overload?
Aren't these just declaring one overload of foo and defining a different overload?
This is how we "deleted" functions, especially otherwise auto generated ones such as a default or copy constructor and assignment operator pre C++11.