C++: Overloading on return values is NOT allowed (neither in java)

Yao Yao on March 24, 2015
  • Published in category
  • C++

整理自 Thinking in C++

void f();
// int f(); // ERROR

If overloading on return values was permitted, how can the compiler distinguish which call is meant in int x = f( );? Possibly worse is the difficulty the reader has in knowing which function call is meant. Overloading solely on return value is a bit too subtle, and thus isn’t allowed in C++.

注意 Java 里也是不允许的(虽然我从来没有遇到过需要考虑这个问题的场景)。

blog comments powered by Disqus