如何处理犰狳中“寻找”的空回报?

时间:2013-02-02 08:40:20

标签: c++ armadillo

我有一个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确实为空时,它不允许这样的转换。

任何人都可以帮我解决这个问题吗?谢谢!

1 个答案:

答案 0 :(得分:0)

以下代码应解决此问题。 变化:

sum( C1.elem( find(C1==1) ) )

为:

sum( C1.elem( uvec(find(C1==1)) ) )

空向量的sum()输出应该为零。