VS2022中访问其他类公共静态变量编译报错C2653的原因
编译错误C2653的排查与解决
直接原因:头文件保护指令拼写错误
你在Game.h中写的#pramga once是拼写错误,正确写法为#pragma once。这个错误会导致头文件保护机制完全失效,编译器预处理阶段无法正确识别Game类的完整定义。虽然IDE的代码分析模块可能忽略了该拼写错误(IDE语法检查与编译器预处理逻辑不完全同步),但编译时就会触发Game不是类或命名空间的报错。补充检查项
确认项目中不存在头文件循环包含的情况,但当前场景下核心问题就是上述拼写错误。修复步骤
- 修改
Game.h中的头文件保护指令为正确的#pragma once - 在Visual Studio中执行「生成」->「清理解决方案」,清除旧编译缓存
- 重新编译整个项目
- 修改
内容的提问来源于stack exchange,提问作者Jack Hermanson
相关产品推荐
相关产品推荐

