![]() |
1
1
问题很可能是因为您试图将对象分配给方法!
您的行等于:
如果此方法返回指针(
我做了一个很大的假设,你想做我上面描述的事情,除非这个方法看起来像这样,否则这是不可能的:
然而,请注意,对于c++对象来说,使用malloc被认为是非常过时的,类似于这一行的内容会更 对的 *A。valuePtr()=static_cast(新T[nnz])); [编辑/]老实说,我正在非常努力地理解你的代码应该完成什么。大多数人(包括我自己)都不会熟悉这个“Eigen”课程。尽管我认为你可能会误解它应该如何使用。 你能提供一个文档的链接,或者一个如何创建/使用这个类的例子吗? [编辑2/]经过一番研究,我发现 This article 以及 This Question ,您是否需要使用 MappedSparseMatrix [编辑3/]
简而言之,返回的引用不是指向对象(已经存在)的指针,而是
是对象
。这将允许您将对象设置为某个对象,或使用
请考虑阅读这篇关于C语言中右值和左值的区别的文章++ understanding rvalue and lvalue |
![]() |
2
0
在@John Bargman告诉我我对右值和左值的看法是错误的之后,我想了想,试了一下:
现在我明白了
|
![]() |
avocado · 特征稀疏矩阵的性能调整 7 年前 |
![]() |
Daiver · 特征:沿一维复制项,而不进行无用的分配 7 年前 |
![]() |
Daiver · 特征:反转矩形矩阵(最小范数解) 7 年前 |
![]() |
Daiver · 在没有内存开销的情况下设置特征::稀疏矩阵的稀疏模式 7 年前 |
![]() |
Olivier · 使用MKL编译时,Eigen C++运行速度较慢 8 年前 |