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;
        }
相关推荐
Mike_Zhang14 分钟前
C++使用WinHTTP访问http/https服务
c++
CHANG_THE_WORLD16 分钟前
「macOS 系统字体收集器 (C++17 实现)」
开发语言·c++·macos
GiraKoo22 分钟前
【GiraKoo】Breakpad 崩溃分析系统
c++
妄想出头的工业炼药师35 分钟前
python和C++相互调用使用
开发语言·c++
景彡先生44 分钟前
C++17 并行算法:std::execution::par
开发语言·c++
JiaJZhong1 小时前
力扣.最长回文子串(c++)
java·c++·leetcode
oioihoii1 小时前
C++随机打乱函数:简化源码与原理深度剖析
开发语言·c++·算法
WZF-Sang2 小时前
计算机网络基础——1
网络·c++·git·学习·计算机网络·智能路由器
默凉3 小时前
C++ 虚函数(多态,多重继承,菱形继承)
开发语言·c++
小庞在加油3 小时前
《重构项目》基于Apollo架构设计的项目重构方案(多种地图、多阶段、多任务、状态机管理)
c++·重构·apollo架构