这会出现错误:无法将“const char *”转换为“char *”。
class Mock
{
public:
...
static void func(char **result)
{
*result = (resultsI++)->c_str();
}
static std::vector<std::string> results;
static std::vector<std::string>::iterator resultsI;
};
std::vector<std::string> Mock::results;
std::vector<std::string>::iterator Mock::resultsI;
我该如何有效地消除这个错误,而不改变函数func的接口?这个接口的实现者:
void (func*)(char **result)
忘记在签名中使用const char **。我无法更改它。
请记住,这只是一个模拟,并且仅用于我的单元测试。
c_str()
。 - chris