在opencv中,使用mingw-w64构建的Opencv 3.2 for windows,目前当我执行以下操作时:
cv::Mat test_mat = (cv::Mat_<double>(3, 3) << 1, 0, -1,
2, 0, -2,
1, 0, -1);
它编译得很好,但Clion IDE解析器声称&#34;类型cv :: Mat和int不兼容&#34;,解决这个问题的解决方案是:
cv::Mat test_mat;
test_mat = (cv::Mat_<double>(3, 3) << 1, 0, -1, 2, 0, -2, 1, 0, -1);
或
int test_mat = (cv::Mat_<double>(3, 3) << 1, 0, -1,
2, 0, -2,
1, 0, -1);
显然,最底层的是完全错误的。有没有办法让Clion语法分析器正确解析初始示例作为正确的语法?同样,这不是编译器错误,只是内部IDE语法分析器错误提示实际上并不正确。
答案 0 :(得分:0)
我不认为这是CLion IDE语法分析器中的错误。语法高亮显示器可能使用某种语法来生成着色。从语法上讲,该语句是有效的。
当您推断类型信息时,您可以看到该语句是错误的。为实时语法突出显示这样做可能是一种可能的解决方案 - 但是,我不确定它在不同规模的库中会有多慢。