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;
        }
相关推荐
Titan202419 分钟前
map和set的封装学习笔记
数据结构·c++
懒惰的bit1 小时前
MFC常见消息映射(简洁版)
c++·mfc
Yupureki1 小时前
《算法竞赛从入门到国奖》算法基础:动态规划-路径dp
数据结构·c++·算法·动态规划
321.。2 小时前
Linux 进程控制深度解析:从创建到替换的完整指南
linux·开发语言·c++·学习
小Tomkk2 小时前
怎么配置 Visual Studio Code 配置 C/C++
c语言·c++·vscode
CheerWWW2 小时前
C++学习笔记——枚举、继承、虚函数、可见性
c++·笔记·学习
比昨天多敲两行2 小时前
C++ AVL树
开发语言·c++
小糯米6012 小时前
C++ 并查集
java·c++·算法
楚Y6同学3 小时前
QT C++ 实现图像查看器
开发语言·c++·qt·图像查看
郝学胜-神的一滴3 小时前
Qt6 + OpenGL 3.3 渲染环境搭建全指南:从空白窗口到专属渲染画布的优雅实现
数据结构·c++·线性代数·算法·系统架构·图形渲染