I\'m defining a ReturnValue class in C++ that needs to report whether a method was successful. I want objects of the class to evaluate to true on s
It's better to use explicit keyword or it will interfere with other overloads like operator+
Here is an example :
class test_string
{
public:
std::string p_str;
explicit operator bool()
{
return (p_str.size() ? true : false);
}
};
and the use :
test_string s;
printf("%s\n", (s) ? s.p_str.c_str() : "EMPTY");