Я пытаюсь написать большой тестовый макрос, который проверяет поведение моего класса (включая конструкторы, деструкторы). Мой код (часть) выглядит следующим образом:
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
[/ NOEDIT]
Когда я его строю, я получаю ошибку компилятора:
error C2678: binary '!': no operator found which takes a left-hand operand of type
'cv::MatExpr' (or there is no acceptable conversion)
[/ NOEDIT]
Я совершенно уверен, что ошибка исходит от этой строки, а не где-либо еще. Я попытался использовать intellisense и обнаружил, что mc.item1 == NULL
оценивает как cv::MatExpr
объект. Есть публичный член под названием flag
в cv::MatExpr
учебный класс. Это тот, который я должен проверить, чтобы увидеть, если это 0 (ложь) или 1 (правда)? Или есть какой-то другой (и конкретный) способ сделать это?
Пожалуйста, не голосуйте за меня, если это глупый вопрос: (…
С уважением,
Задача ещё не решена.
Других решений пока нет …