- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我对 Eigen 有如下疑问:
LKSSP0.5psk: /usr/include/eigen3/Eigen/src/Core/Block.h:134: Eigen::Block::Block(XprType&, Eigen::Index, Eigen::Index) [with XprType = Eigen::Matrix; int BlockRows = 2; int BlockCols = 2; bool InnerPanel = false; Eigen::Index = long int]: Assertion `startRow >= 0 && BlockRows >= 1 && startRow + BlockRows <= xpr.rows() && startCol >= 0 && BlockCols >= 1 && startCol + BlockCols <= xpr.cols()' failed. Command terminated by signal 6 27650.16user 5.67system 1:17:34elapsed 594%CPU (0avgtext+0avgdata 525396maxresident)k 328inputs+77192outputs (1major+17571minor)pagefaults 0swaps
任何人都可以帮助理解它的含义,以便我解决问题吗?谢谢。
最佳答案
此消息中的关键词是“断言”。 assertion已失败,因为不满足基本矩阵条件。调试代码,找到包含断言的行并检查条件。
这部分:
Assertion `startRow >= 0 && BlockRows >= 1 && startRow + BlockRows <= xpr.rows() && startCol >= 0 && BlockCols >= 1 && startCol + BlockCols <= xpr.cols()' failed.
列出了为了让程序继续执行而必须满足的条件(例如 startRow >= 0),但除非调试代码并检查,否则您不知道实际上哪些条件不满足。在这种情况下,您指定了负数的列/行,指的是矩阵边界外的元素或 BlockRows 变量的值小于 1。
关于c++ - 如何从 Eigen 理解错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41556024/
我是一名优秀的程序员,十分优秀!