有一些代码:
EXPECT_NE(nullptr,ptr);
我得到以下编译错误:
'operator <<' is ambiguous
could be 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<<void>(std::nullptr_t)'
or 'std::basic_ostream<char,std::char_traits<char>> &testing::internal2::operator <<<char,std::char_traits<char>,T>(std::basic_ostream<char,std::char_traits<char>> &,const T &)'
这可能是库版本问题吗?
原文由 Игорь Пугачев 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你想更明确,你也可以使用
(这是我通常做的)
顺便提一句。有趣的是,在我的工作项目中,我仍然必须使用 C++98(仍在为 Sun 和 AIX 构建,尽管它很快就会消失),我最终创建了自己的
NullPtrT
类和NullPtr
通用库中的对象,它实际上与 gtestEXPECT_EQ
和EXPECT_NE
宏一起使用。这样我就可以做到我不记得我是如何完成这项工作的:)