求助高手 error C2338:

Nanan_0913 2020-08-18 09:57:20
指针数组的定义是这样子的: complex<double> Blk=new complex<double>[a*b](); 将其中的元素分配给Eigen::MatrixXcd是这样子的: Map<MatrixXcd> Blk_matT(Blk, b, a); MatrixXcd Blk_mat=Blk_matT. transpose() ; 编译报错: error C2338 YOU_TRIDE_CALLING_A_VECTOR_METHOD_ON_A_MATRIX 求助高手
...全文
424 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nanan_0913 2020-08-18
  • 打赏
  • 举报
回复
引用 楼主 Nanan_0913的回复:
指针数组的定义是这样子的: complex<double> Blk=new complex<double>[a*b](); 将其中的元素分配给Eigen::MatrixXcd是这样子的: Map<MatrixXcd> Blk_matT(Blk, b, a); MatrixXcd Blk_mat=Blk_matT. transpose() ; 编译报错: error C2338 YOU_TRIDE_CALLING_A_VECTOR_METHOD_ON_A_MATRIX 求助高手
请帖子浮上去 请教大佬们
Nanan_0913 2020-08-18
  • 打赏
  • 举报
回复
解决了,复数映射时需要使用 Eigen::Map<complex<double>, Eigen::Dynamic,Eigen::Dynamic,RowMajor> Blk_mat(Blk,row, col);
Nanan_0913 2020-08-18
  • 打赏
  • 举报
回复
引用 2 楼 真相重于对错的回复:
complex<double> Blk=new complex<double>[a*b](); 很不明白你的代码? BLK又不是指针类型,怎么用new呢???
抱歉抱歉打错了,是指针,应该是: complex<double>* Blk=new complex<double>[a*b]();
真相重于对错 2020-08-18
  • 打赏
  • 举报
回复
complex<double> Blk=new complex<double>[a*b](); 很不明白你的代码? BLK又不是指针类型,怎么用new呢???

65,206

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧