クラスの動作 (コンストラクタ、デストラクタを含む) の健全性チェックを行う大きなテスト マクロを作成しようとしています。私のコード(部分)は次のようになります。
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) かを確認するためにチェックする必要があるのは、それですか? または、それを行う他の(そして特定の)方法はありますか?
ばかげた質問である場合は、投票しないでください:( ...よろしくお願いします。