Google Mock中如何给const Mock函数同时添加override标记消除报错
解决方法
你需要将const和override作为两个独立修饰符,用逗号分隔后传入MOCK_METHOD的第四个参数列表,正确代码如下:
MOCK_METHOD(bool, functionName, (), (const, override));
报错原因
- 你原来的写法将
const override连写为单个参数,Google Test的MOCK_METHOD宏无法识别这种组合形式的修饰符,必须把每个独立的函数限定符拆分为逗号分隔的列表传入。 - 该参数位支持传入的常见修饰符包括
const、override、noexcept、constexpr等,均需要单独拆分传入。
验证建议
确认被Mock的父类原始虚函数确实带有const修饰,避免父子函数修饰符不匹配导致的后续编译问题。
内容的提问来源于stack exchange,提问作者Lasersköld
相关产品推荐
相关产品推荐

