Google Mock: поддельные перегруженные функции создают предупреждение C4373

Я издеваюсь над классом C ++, который имеет 2 перегруженные функции, используя Google Mock и VS2010:

#include "stdafx.h"
#include "gmock/gmock.h"

#include "A.h"

class MockA : public A
{
public:
    // ...
    MOCK_METHOD3(myFunc, void(const int id, const int errorCode, const CString errorMsg));
    MOCK_METHOD1(myFunc, void(const CString errorMsg));
    // ...
};

Каждый раз при компиляции я дважды получаю следующее предупреждение :

1>c:\dev\my_project\tests\mocka.h(83): warning C4373: 'MockA::myFunc': virtual function overrides 'A::myFunc', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers
1>          c:\dev\my_project\my_project\include\a.h(107) : see declaration of 'A::myFunc'

Есть идеи, почему?
Это правильное поведение?
Как мне этого избежать?

9
задан Matthew Flaschen 9 January 2011 в 11:41
поделиться