当我拥有这两个签名时,会出现编译错误:
String& operator+(String&& a, const TCHAR* b)
String operator+(String a, const TCHAR* b)
string.cpp(97): error C2593: 'operator +' is ambiguous
string.cpp(34): could be 'String &operator +(String &&,const TCHAR *)'
string.cpp(24): or 'String operator +(String,const TCHAR *)'
他们不一样吗??????如果我可以同时使用两者,我觉得可以提高性能。另一方面,这是否含糊不清,因为 + 运算符总是处理右值?
vc++ 2010 编译器