我試過了隱式轉換,但這不起作用。如何讓MyClass使用std :: string的運算符+
#include <string>
#include <iostream>
struct MyClass
{
operator std::string() { return "bar"; }
};
int
main(int argc, char* argv[])
{
MyClass x;
std::cout << std::string("foo") + x << std::endl;
return 0;
}
由於字符串的'operator +'是模板化的,隱式轉換將不起作用。 – Pubby
@Pubby你應該做出答案! – juanchopanza
+1 @Pubby我同意!詳細的解釋會幫助我們更好地理解C++ – kfmfe04