C++;本征32位和64位错误 我有一个使用EGIN的C++图像处理应用程序。我在VS2013工作。在64位上运行时,我的代码不会出错,但是,在32位上运行时,我遇到了一个:

C++;本征32位和64位错误 我有一个使用EGIN的C++图像处理应用程序。我在VS2013工作。在64位上运行时,我的代码不会出错,但是,在32位上运行时,我遇到了一个:,c++,eigen,C++,Eigen,访问代码冲突 图像由特征阵列描述 template<typename Pixel> using Image = Eigen::Array < Pixel, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > ; 模板 使用Image=Eigen::Array; 当变量bayer被分配类型Image时,64位版本如下所示: 但是,32位版本如下所示: 当数据被传递到bayer时,64位如下所示: 它有一个带有值的清晰

访问代码冲突

图像由特征阵列描述

template<typename Pixel>
using Image = Eigen::Array < Pixel, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > ;
模板
使用Image=Eigen::Array
当变量
bayer
被分配类型
Image
时,64位版本如下所示:

但是,32位版本如下所示:

当数据被传递到
bayer
时,64位如下所示:

它有一个带有值的清晰的元素结构,而32位版本更为复杂,我认为它在代码的更深处产生了问题


我不确定格式上的差异是否导致了我最终的错误,或者是其他原因,但这是我注意到的唯一差异,所以我想我会问这个问题。

调试器表示形式上的差异只是可视化工具。看见那不是你问题的根源。尝试寻找其他地方并创建一个链接。@AviGinsburg-我不确定链接告诉我什么?您确定这只是Visualizer中的差异吗?我同意MCVE方法,但这是一个巨大的项目,目前我不确定如何分解它。是的,区别只是可视化工具
bater.m_storage.m_data
将为您提供指向数据数组的指针,而不包含索引。