error C2148: 数组的总大小不得超过0x7fffffff字节

本文探讨了C++中因类型大小未定义导致的编译错误,并提供了两种解决方案:一是使用指针代替数组;二是通过包含头文件来明确类型大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 报错环境:

    Plane.h: class Plane{....} 有声明、有实现,但是实现部分放在Plane.cpp.

    Frustum.h:

                  class Plane;

                  class Frustum

                  {

                   ... ...

                   private:

                      Plane mPlane[6];

                  };

 

2. 错误:

          1. error C2148: 数组的总大小不得超过0x7fffffff字节。

          2. error C2079: "Frustum: mPlane" 使用未定义的 class "Plane"

 

 

3. 报错原因:

          1. 编译器需要知道每种类型的大小。但是在Frustum类中没有告诉Plane类型的大小。最终,mPlane[6]的大小就变得无限大。

 

4. 解决办法:

          1. 使用Plane *mPlane; 指针地址的大小是基于操作系统的,是固定的值。所有不会报错。

          2. 使用Plane mPlane[6].  但是在Frustum类前要包含#include "Plane.h",告知Plane类大小。

开始解析指定的数据库文件 正在测试数据库: F:\日常软件\WeChat\WeChat Files\wxid_9223592212012\Msg\MicroMsg.db 开始测试数据库: F:\日常软件\WeChat\WeChat Files\wxid_9223592212012\Msg\MicroMsg.db 文件大小: 8212480 字节 文件头: 78472c7ca23258e86d23949dfb020d1f 2025-05-13 17:35:38,167 - INFO - 尝试获取微信进程ID,结果: 31236 2025-05-13 17:35:38,167 - DEBUG - Process 31236 is being debugged 2025-05-13 17:35:38,168 - INFO - 成功连接到微信进程,PID: 31236 2025-05-13 17:35:38,171 - INFO - 找到WeChatWin.dll模块,基地址: 0x7ffa1da80000 2025-05-13 17:35:38,171 - INFO - 模块大小: 0x61d7000 2025-05-13 17:35:38,171 - INFO - 搜索范围: 0x7ffa1da80000 - 0x7ffa23c57000 2025-05-13 17:35:38,224 - INFO - 成功读取模块内容,大小: 102592512 字节 2025-05-13 17:35:38,225 - INFO - 尝试使用特征码 558bec83e4f881ec000000005356578bf9 进行扫描 2025-05-13 17:35:38,251 - INFO - 尝试使用特征码 558bec83e4f881ec000000005356578bf98b4d08 进行扫描 2025-05-13 17:35:38,277 - INFO - 尝试使用特征码 558bec83e4f881ec000000005356578bf98b4d088b550c 进行扫描 2025-05-13 17:35:38,298 - INFO - 特征码扫描失败,尝试使用新的方法 2025-05-13 17:35:38,299 - ERROR - 新方法失败: Pymem.pattern_scan_all() takes 2 positional arguments but 4 were given 2025-05-13 17:35:38,299 - ERROR - 未找到有效的密钥 测试失败: 无法获取密钥 数据库解密失败: F:\日常软件\WeChat\WeChat Files\wxid_9223592212012\Msg\MicroMsg.db 解析完成: 成功解密 0/1 个数据库文件 仍然报错
05-14
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值