Я понимаю, что это старый вопрос, но так как я сам наткнулся на него сейчас, я хотел бы поделиться своим решением (или хотя бы объяснением):
Проблема, вероятно, в том, что ваше объявление 1004 * имеет параметр const, который будет игнорироваться компилятором. Именно определение может эффективно использовать const для параметра.
Это также упоминается теперь в google mock faq , теперь, чтобы убрать предупреждение, удалите const
из параметра в объявлении функции.
В моем случае мне все еще было трудно, потому что реализация функции была для шаблонного класса внутри заголовка, где происходит объявление и определение, которые выполняются вместе. Решением этой проблемы, вероятно, является отключение предупреждения при включении заголовка проверяемого класса.