2013-02-02 38 views
0

我有一個ivec C1並做了,比如sum(C1.elem(find(C1==1)))如何在Armadillo中處理「find」的空回報?

我希望得到一個零的回報,如果在C1沒有元素爲1,而是它給了我一個錯誤說墊:: ELEM():給定的對象不是一個向量

我試過使用(find(C1==1)).is_empty(),但沒有被接受,因爲它告訴我它沒有提供is_empty方法來返回find。然後我試圖conv_to<uvec>::from(find(C1==1))C1確實是空的它不允許這樣的轉換。

任何人都可以幫我解決這個問題嗎?謝謝!!

回答

0

下面的代碼應該解決這個問題。 變化:

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

到:然後

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

總和的輸出(),用於空的載體應該是零。