Почему нет ошибки времени выполнения с оператором + = при использовании матриц разных размеров в Eigen? - PullRequest
0 голосов
/ 28 февраля 2019

Когда я использую оператор + = с динамическими матрицами разных размеров, я не получаю ошибку времени выполнения.

Использование operator = и operator + отдельно дает ошибку (как и ожидалось).

Я использую Eigen 3.3.1b.

int n = 5;
Eigen::MatrixXcd mat1 = Eigen::MatrixXd::Identity(n, n);
int m = 6;
Eigen::MatrixXcd mat2 = Eigen::MatrixXd::Identity(m, m);
mat1 += mat2; // should not work but no runtime error
//mat1 = mat1 + mat2; // ok : error
...