c – 使用throw()说明符模拟方法

前端之家收集整理的这篇文章主要介绍了c – 使用throw()说明符模拟方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图谷歌模拟一个具有throw()说明符的虚方法.原始函数如下所示:
virtual ReturnValue FunctionName() const throw();

我收到编译器错误:’virtual FunctionSignature’的looser throw说明符

这是我到目前为止尝试的代码

MOCK_CONST_METHOD0( FunctionName,ReturnValue() );  
MOCK_CONST_METHOD0( FunctionName,ReturnValue() throw() );  
MOCK_CONST_METHOD0( FunctionName,ReturnValue() ) throw(); // Gives a different error entirely.

我已经尝试了几乎所有我能想到的其他组合,但这些组合似乎最符合逻辑.我如何使用throw()说明符来模拟一个方法呢?

解决方法

据我所知,您必须使用“内部”GMOCK_METHOD0_宏,并使用:
GMOCK_METHOD0_(,const throw(),FunctionName,ReturnValue)

当MOCK_CONST_METHOD0(m,F)被#defineed到GMOCK_METHOD0_(,const,m,F)时,gmock/gmock-generated-function-mockers.h#644gmock/gmock-generated-function-mockers.h#347定义了它.

猜你在找的C&C++相关文章