这给出了错误:无法从 '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**。我无法改变它。
请记住,这是一个模拟,我只在我的单元测试中使用。