gpt4 book ai didi

c++ - 如何在 Eigen 中定义 VectorXd 数组

转载 作者:搜寻专家 更新时间:2023-10-31 02:15:23 26 4
gpt4 key购买 nike

我想在Eigen中定义一个VectorXd数组,下面是我的代码

void function(VectorXd * b, ...)
{
[snippet]
vector<VectorXd(b->rows())> xs(max_iter+1);
[snippet]
}

所以,我想定义一个长度为 max_iter+1 的数组,数组中的每个元素都是一个 3X1 VectorXd。

但是在编译的时候,返回了如下错误:

/path/to/solutions.h:187: error: invalid type in declaration before '(' token
vector<VectorXd(b->rows())> xs(max_iter+1);
^
/path/to/solutions.h:187: error: 'b' cannot appear in a constant-expression
vector<VectorXd(b->rows())> xs(max_iter+1);
^

我应该怎么做才能修复这些错误?谢谢!

最佳答案

当您处理 std::vector 时的 int , 你用

std::vector<int> xs(size, init_value);

同样,当你处理std::vector时,它应该是这样的的 VectorXd .

std::vector<VectorXd> xs(max_iter+1, VectorXd(b->rows()));

它必须是 < > 之间的类型名称, 但你使用一个对象 VectorXd(b->rows()) .

关于c++ - 如何在 Eigen 中定义 VectorXd 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38543325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com