我很少使用Eigen库和C ++。 我正在测试一些代码,但我不明白为什么这样做。
#include <iostream>
#include <Eigen/Dense>
using namespace std;
int main()
{
int a = 2;
const int SIZE_ = a;
Eigen::Matrix<float, SIZE_, SIZE_> test;
return 0;
}
无法编译,而这段代码
#include <iostream>
#include <Eigen/Dense>
using namespace std;
int main()
{
const int SIZE_ = 2;
Eigen::Matrix<float, SIZE_, SIZE_> test;
return 0;
}
代码本身运行良好。我该如何更改第一行代码,以使其能够正常运行(即SIZE_应由一个变量初始化,该变量可能具有不同的值)。
constexpr int SIZE_ = ...
,这样你就可以立即获得错误(如果getSizeOfMatrix()
不是constexpr
),而不仅仅是在尝试声明test
时。 - chtz