error C2338: YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES

使用Eigen时报以下错误:

复制代码
error C2338: YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES

参考https://blog.csdn.net/Charles_ke/article/details/89067150得知应该是Eigen矩阵维度不相同导致的问题

通过注释相关代码定位到报错的位置:

复制代码
for (int i = 0; i < loop_size; i++) {
            Vector3d pos = current_V.row(mainLoop[i]);
            new_vertices.row(i) = pos + expansionDirections.row(i);
        }

由于expansionDirections.row(i)既可以代表行向量又可以代表列向量,使其与列向量pos相加会出现维度不兼容的情况

解决办法如下,将expansionDirections.row(i)赋值为与pos一样的列向量,再与pos进行运算,不再报错

复制代码
for (int i = 0; i < loop_size; i++) {
            Vector3d pos = current_V.row(mainLoop[i]);
            Vector3d dir = expansionDirections.row(i);
            new_vertices.row(i) = pos + dir;
        }
相关推荐
是小胡嘛17 小时前
C++之Any类的模拟实现
linux·开发语言·c++
Want59519 小时前
C/C++跳动的爱心①
c语言·开发语言·c++
lingggggaaaa19 小时前
免杀对抗——C2远控篇&C&C++&DLL注入&过内存核晶&镂空新增&白加黑链&签名程序劫持
c语言·c++·学习·安全·网络安全·免杀对抗
phdsky20 小时前
【设计模式】建造者模式
c++·设计模式·建造者模式
H_-H20 小时前
关于const应用与const中的c++陷阱
c++
coderxiaohan20 小时前
【C++】多态
开发语言·c++
gfdhy20 小时前
【c++】哈希算法深度解析:实现、核心作用与工业级应用
c语言·开发语言·c++·算法·密码学·哈希算法·哈希
ceclar12320 小时前
C++范围操作(2)
开发语言·c++
一个不知名程序员www21 小时前
算法学习入门---vector(C++)
c++·算法
明洞日记21 小时前
【数据结构手册002】动态数组vector - 连续内存的艺术与科学
开发语言·数据结构·c++