class FatherClass { public: int field; ... }; class SonClass : public FatherClass { ... }; class SomeClass { virtual int m_service(FatherClass*){}; }; class MockSomeClass : public SomeClass { MOCK_METHOD1(m_service, int(FatherClass*)); }; int main(void) { MockSomeClass object; EXPECT_CALL(object, m_service(AllOf(Field(&SonClass::field, 5)))) .Times(1); ... } Compilation error: error: invalid conversion from ‘FatherClass*’ to ‘const SonClass*’ [-fpermissive]
class FatherClass {
public:
int field;
...
};
class SonClass : public FatherClass {
...
};
class SomeClass {
virtual int m_service(FatherClass*){};
};
class MockSomeClass : public SomeClass {
MOCK_METHOD1(m_service, int(FatherClass*));
};
int main(void) {
MockSomeClass object;
}
Compilation error:
error: invalid conversion from ‘FatherClass*’ to ‘const SonClass*’ [-fpermissive]