【发布时间】:2012-12-05 06:44:54
【问题描述】:
我尝试了隐式转换,但这不起作用。
#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 你应该回答这个问题!
-
+1 @Pubby 我同意!详细的解释将有助于我们所有人更好地理解 c++
标签: c++ operator-overloading implicit-conversion stdstring