我希望能够做到以下几点:
std::cout << str_manip("string to manipulate");
也
std::string str;
str_manip(str);
std::cout << str;
为此,我有两个功能
#include <string>
// copying
std::string str_manip(std::string str)
{
// manipulate str
return str;
}
// in-place
void str_manip(std::string& str)
{
// manipulate str
}
但它们会产生以下错误:
error: call of overloaded 'str_manip(std::__cxx11::string&)' is ambiguous
我该如何克服呢?