0

我正在尝试编写一个大型测试宏,对我的类行为(涉及构造函数、析构函数)进行一些健全性检查。我的代码(部分)如下所示:

  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(真)吗?还是有任何其他(和特定的)方法可以做到这一点?

如果这是一个愚蠢的问题,请不要投票给我:(...亲切的问候,

4

0 回答 0