我有一个ivec C1
,确实说过sum( C1.elem(find( C1==1 )) )
。
如果C1
中没有元素是1,我希望得到零回报,但是它给了我一个错误,说 Mat :: elem():给定对象不是向量
我尝试使用(find(C1==1)).is_empty()
,但这不被接受,因为它告诉我它没有提供is_empty
方法来返回find
。然后我尝试conv_to<uvec>::from(find(C1==1))
,但当C1
确实为空时,它不允许这样的转换。
任何人都可以帮我解决这个问题吗?谢谢!
答案 0 :(得分:0)
以下代码应解决此问题。 变化:
sum( C1.elem( find(C1==1) ) )
为:
sum( C1.elem( uvec(find(C1==1)) ) )
空向量的sum()输出应该为零。