これにより、エラーが発生します:「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** を使用するのを忘れていました。変更できません。
これはモックであり、単体テストでのみ使用されることを忘れないでください。