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で呼び出される public メンバーがあります。cv::MatExprそれが 0 (false) か 1 (true) かを確認するためにチェックする必要があるのは、それですか? または、それを行う他の(そして特定の)方法はありますか?

ばかげた質問である場合は、投票しないでください:( ...よろしくお願いします。

4

0 に答える 0