Как использовать gmock MOCK_METHOD для перегруженных операторов?C++

Программы на 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, но не нашел ничего, связанного с моим вопросом. Может ли кто-нибудь помочь мне с этим?

Спасибо!
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»