Как использовать gmock MOCK_METHOD для перегруженных операторов? ⇐ C++
-
Гость
Как использовать gmock MOCK_METHOD для перегруженных операторов?
Я новичок в googlemock (и StackOverflow). У меня возникла проблема при использовании MOCK_METHODn в googlemock, и я считаю, что эта функция широко используется. Вот что я сделал.
У меня есть абстрактный класс Foo с виртуальным перегруженным оператором operator[]:
класс Foo{ публика: виртуальный ~Foo(){}; виртуальный оператор int [] (индекс int) = 0; } и я хочу использовать googlemock, чтобы получить MockFoo:
класс MockFoo: public Foo{ публика: MOCK_METHOD1(оператор[], int(индекс целого)); //Компилятор указывает, что эта строка неверна } Однако этот код выдает следующую ошибку компиляции:
ошибка: вставка «]» и «_» не дает действительный токен предварительной обработки MOCK_METHOD1(оператор[], GeneInterface&(int index)); Насколько я понимаю, компилятор неправильно понимает operator[] и не воспринимает его как имя метода. Но как правильно имитировать operator[] с помощью MOCK_METHODn? Я прочитал документацию Googlemock, но не нашел ничего, связанного с моим вопросом. Может ли кто-нибудь помочь мне с этим?
Спасибо!
Я новичок в googlemock (и StackOverflow). У меня возникла проблема при использовании MOCK_METHODn в googlemock, и я считаю, что эта функция широко используется. Вот что я сделал.
У меня есть абстрактный класс Foo с виртуальным перегруженным оператором operator[]:
класс Foo{ публика: виртуальный ~Foo(){}; виртуальный оператор int [] (индекс int) = 0; } и я хочу использовать googlemock, чтобы получить MockFoo:
класс MockFoo: public Foo{ публика: MOCK_METHOD1(оператор[], int(индекс целого)); //Компилятор указывает, что эта строка неверна } Однако этот код выдает следующую ошибку компиляции:
ошибка: вставка «]» и «_» не дает действительный токен предварительной обработки MOCK_METHOD1(оператор[], GeneInterface&(int index)); Насколько я понимаю, компилятор неправильно понимает operator[] и не воспринимает его как имя метода. Но как правильно имитировать operator[] с помощью MOCK_METHODn? Я прочитал документацию Googlemock, но не нашел ничего, связанного с моим вопросом. Может ли кто-нибудь помочь мне с этим?
Спасибо!
Мобильная версия