错误:类型类征::张量 删除‘预计指针”给说法’

问题描述 投票:-1回答:1

我试图删除与本征创建一个张量::张量

N1,N2,N3是INT的矢量

N1 << 1,2,3
N2 << 4,3,5
N3 << 9,7,8


 for(int i = 0; i < 3; i++ )
{
 Eigen::Tensor<double, 3> Hs(N1(i),N2(i),N3(i));

 Hs.setZero();

 delete Hs;
  }

如何删除我的张量?我要明确并改变其大小

先感谢您

c++ eigen tensor
1个回答
2
投票

你的编译器告诉你什么是错的。 H不是指针和堆没有被分配。只需删除delete H和你的罚款当它超出范围就会被破坏。

因此,这是你将如何创建一个3x3矩阵:

#include <Eigen/Sparse>


int main(void)
{
    Eigen::Matrix<double, 3, 3> H;
    H.setZero();
}

只是为了保持完整性(不这样做,如果你没有):如果你这样写

Eigen::Tensor<double, 3> H* = new Eigen::Tensor<double, 3>(N1,N2,N3);

然后删除将是适当的。

© www.soinside.com 2019 - 2024. All rights reserved.