我正在尝试编写一个大型测试宏,对我的类行为(涉及构造函数、析构函数)进行一些健全性检查。我的代码(部分)如下所示:
TEST(basic_getters_setters_contructors) { // Macro name)
myNameSpace::myClass mc(cv::Mat::ones(1,2,CV_32S),cv::Mat::zeros(4,8,CV_32S));
CHECK_EQUAL(false, mc.item1 == NULL);
//.......Rest of the checks
当我构建它时,我得到编译器错误:
error C2678: binary '!': no operator found which takes a left-hand operand of type
'cv::MatExpr' (or there is no acceptable conversion)
我很确定错误来自该行而不是其他任何地方。我尝试使用智能感知,发现mc.item1 == NULL
评估为cv::MatExpr
对象。课堂flag
上有一个公共成员。cv::MatExpr
那是我应该检查它是0(假)还是1(真)吗?还是有任何其他(和特定的)方法可以做到这一点?
如果这是一个愚蠢的问题,请不要投票给我:(...亲切的问候,