如何处理犰狳"find"的空退货?
How to handle empty returns of "find" in Armadillo?
我有一个ivec C1
,说,sum( C1.elem(find( C1==1 )) )
。
如果C1
中没有元素是 1,我希望得到零回报,但它给了我一个错误,说 Mat::elem():给定的对象不是向量。
我尝试使用(find(C1==1)).is_empty()
但这没有被接受,因为它告诉我它没有提供返回find
的is_empty
方法。然后我试图conv_to<uvec>::from(find(C1==1))
但是当C1
确实为空时,它不允许这种转换。
有人可以帮助我摆脱困境吗?谢谢!!
以下代码应该可以解决此问题。改变:
sum( C1.elem( find(C1==1) ) )
自:
sum( C1.elem( uvec(find(C1==1)) ) )
空向量的 sum() 输出应为零。
相关文章:
- 警告处理为错误这里有什么问题
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 处理多个异常集合的C++方法
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 使用流处理接收到的数据
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 基于多个条件处理地图中的所有元素
- 如何用数字处理log(0)
- SSL上的`curl_easy_send`和`curl_asy_recv`:如何处理`CURLE_AGAIN`
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 错误处理.将系统错误代码映射到泛型
- 从文本文件中读取时钟时间和事件时间并进行处理
- OpenMP卸载说'fatal error: could not find accel/nvptx-none/mkoffload'
- 在运行时处理类型擦除的数据-如何不重新发明轮子
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 如何处理"Cmake Error: Unable to find the requested Boost libraries"?
- 如何处理此 Linux C++警告? "can't find linker symbol for virtual table for `sockaddr_in'"
- 如何处理犰狳"find"的空退货?