gpt4 book ai didi

c++ - ublas vector 指针

转载 作者:太空宇宙 更新时间:2023-11-04 12:09:22 24 4
gpt4 key购买 nike

我正在尝试通过在我的 .h 文件中定义 vector 来初始化/分配值给 ublas vector :

someClass{
ublas::vector<double> *L;
} ;

然后在我的 .cpp 文件中:

someClass::someClass()
{
L = new ublas::vector<double>[4];
L->data()[0] = 1;
}

代码编译正常,但是当我运行它时,我的 .cpp 文件中的最后一行出现错误。我可能缺少一些非常简单的东西,但我不知道是什么......

非常感谢! :)

最佳答案

您已经创建了一个包含四个 ublas::vectors 的数组,每个 vector 的大小为零。分配给空 vector 的第一个元素会引发异常。

你是不是想写

L = new ublas::vector<double>(4); 

代替?

且不说new和pointer的使用有问题,对于大多数使用来说,成员对象更合适:

class someClass {
ublas::vector<double> L;
public:
someClass() : L(4) {
L[0] = 1;
}
};

关于c++ - ublas vector 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10541366/

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