编译器致命错误 C1001 到 C1907
文档这一部分中的文章解释了由 Microsoft C/C++ 编译器生成的错误消息的子集。
重要
Visual Studio 编译器和生成工具可报告多种类型的错误和警告。 发现错误或警告后,生成工具可做出有关代码意向的假设并尝试继续,因此,可能会同时报告更多问题。 如果工具做出错误假设,则后续错误或警告可能不适于你的项目。 纠正项目中的问题时,请始终先纠正报告的第一个错误或警告,然后在通常情况下重新生成。 一个修补程序可能会使许多后续错误消失。
若要在 Visual Studio 中获取有关特定诊断消息的帮助内容,请在“输出”窗口中选择该消息,然后按 F1 键。 Visual Studio 会打开该错误的文档页(如果存在)。 还可以使用页面顶部的搜索工具查找有关特定错误或警告的文章。 或者,按工具浏览错误和警告列表,并在此页面上的内容列表中键入内容。
注意
并非所有 Visual Studio 错误或警告均有记录。 在许多情况下,诊断消息将提供所有可用信息。 如果在使用 F1 时登陆此页,并且认为错误或警告消息需要额外的解释,请告诉我们。 可以使用此页面上的反馈按钮在 GitHub 上提出文档问题。 如果认为错误或警告是错误的,或者发现了工具集的其他问题,请在开发者社区网站上报告产品问题。 还可以在 IDE 中发送反馈并输入 bug。 在 Visual Studio 中,转到菜单栏并选择“帮助”>“发送反馈”>“报告问题”,或者使用“帮助”“发送反馈”>“发送建议”提交建议>。 创建了一些编译程序错误主题,这些主题不是由编译程序发出的,但现在会重定向到此页面。
可以在 Microsoft Learn Q&A 论坛上查找有关错误和警告的其他帮助。 或者,在 Visual Studio C++ 开发者社区网站上搜索错误或警告编号。 还可以搜索 Stack Overflow 以查找解决方案。
有关指向其他帮助和社区资源的链接,请参阅 Visual C++ 帮助和社区。
错误消息
错误 | 消息 |
---|---|
错误 C1001 | 编译器中发生了内部错误。 (编译器文件“file”中的第 number行) 若要解决此问题,请尝试简化或更改以上所列出位置附近的程序。 请在 Visual C++ 帮助菜单上,选择技术支持命令,或打开技术支持帮助文件了解详细信息 |
错误 C1002 | 在第 2 遍中编译器的堆空间不足 |
错误 C1003 | 错误计数超过 number;正在停止编译 |
错误 C1004 | 发现意外的文件尾 |
错误 C1005 | 字符串过大,无法缓冲 |
错误 C1006 | 编译器中间文件上的写入错误 |
错误 C1007 | 无法识别的标志“string”(在“option”中) |
错误 C1008 | 没有指定输入文件 |
错误 C1009 | 编译器限制: 宏嵌套太深 |
错误 C1010 | 查找预编译头时意外的文件尾。 是否忘记将 "#include < file" 添加到源中> ? |
错误 C1011 | 找不到标准模块接口。 是否在 VS 安装程序中安装 C++ 模块功能的库部分? |
错误 C1012 | 括号不匹配:缺少“character” |
错误 C1013 | 编译器限制: 左括号太多 |
错误 C1014 | 包含文件太多:深度 = number |
错误 C1015 | 标头名称 "header-name" 和" header-name" 标识相同的标头,不能同时用作 和 参数; 请仅提供一次此标头名称/headerUnit:quoted /headerUnit:angle |
错误 C1016 | #ifdef /#ifndef 应输入标识符 |
错误 C1017 | 无效的整数常量表达式 |
错误 C1018 | 意外的 #elif |
错误 C1019 | 意外的 #else |
错误 C1020 | 意外的 #endif |
错误 C1021 | 无效的预处理器命令“string” |
错误 C1022 | 应有 #endif |
错误 C1023 | “file”:pch 存在意外错误,请尝试重新生成 pch |
错误 C1024 | (已过时) 符号太多 |
错误 C1025 | 嵌套 Lambda 太多 |
错误 C1026 | 分析器堆栈溢出,程序太复杂 |
错误 C1027 | (已过时) 创建和使用预编译标头时的 /Ym 值不一致 |
错误 C1030 | 根据调用约定,函数签名中不允许使用 WMMX 类型 |
错误 C1032 | __eabi 需要 VFP 代码生成 (/QRfpe- ) |
错误 C1033 | 无法打开程序数据库“file” |
错误 C1034 | file:不包括路径集 |
错误 C1035 | 表达式太复杂;简化表达式 |
错误 C1036 | 无法覆盖早期的程序数据库格式,请删除“file”并重新编译 |
错误 C1037 | 无法打开对象文件“file” |
错误 C1038 | (已过时) 编译器限制: "function": 控制流状态太复杂; 请简化函数 |
错误 C1039 | 内部类型参数超出调用约定允许的数目 |
错误 C1040 | 缩略图模式中不允许使用内部函数或类型 |
错误 C1041 | 无法打开程序数据库 "file"; 如果要将多个 CL.EXE 写入同一个 文件,请使用 .PDB /FS |
错误 C1042 | 无法打开编译器中间文件,没有这样的文件或目录 |
错误 C1043 | 无法打开编译器中间文件 |
错误 C1044 | 用于编译器中间文件的磁盘空间不足 |
错误 C1045 | 编译器限制: 链接规范嵌套太深 |
错误 C1046 | 编译器限制: structure 嵌套太深 |
错误 C1047 | 对象或库文件“file”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库 |
错误 C1048 | 未知选项“string”(在“option”中) |
错误 C1049 | 无效的数值参数“value” |
错误 C1051 | 程序数据库文件“file”具有过时的格式,将其删除并重新编译 |
错误 C1052 | 程序数据库文件 "filename" 由链接器使用 生成; 编译器无法更新此类 PDB 文件; 请将其删除或使用 /DEBUG:fastlink 指定其他 PDB 文件名/Fd |
错误 C1053 | “function”:函数太大 |
错误 C1054 | 编译器限制: 初始值设定项嵌套太深 |
错误 C1055 | 编译器限制: 超出键范围 |
错误 C1056 | 无法更新 "object-file" 中的时间日期戳字段; 错误代码 error-code |
错误 C1057 | 宏扩展中遇到意外的文件结束 |
错误 C1058 | 编译器限制: 符号 "symbol-name" 上的特性过多 |
错误 C1059 | (已过时) 编译器的堆空间即将不足 |
错误 C1060 | 编译器的堆空间不足 |
错误 C1061 | 编译器限制: 块嵌套太深 |
错误 C1063 | 编译器限制: 编译器堆栈溢出 |
错误 C1064 | 编译器限制: 标记已溢出内部缓冲区 |
错误 C1065 | 编译器限制: 超出标记范围 |
错误 C1067 | 编译器限制: 已超出类型记录的 64K 大小限制 |
错误 C1068 | 无法打开文件“file” |
错误 C1069 | 无法读取编译器命令行 |
错误 C1070 | 文件 "file" 中的 #if /#endif 对不匹配 |
错误 C1071 | 在注释中遇到意外的文件结束 |
错误 C1073 | (已过时) 涉及增量编译的内部错误 (编译器文件 "file" 中的第 number 行) |
错误 C1074 | “IDB”是 PDB 文件 file的非法扩展名 |
错误 C1075 | 左侧的 token 与文件结尾不匹配 |
错误 C1076 | 编译器限制: 达到内部堆限制; 使用 /Zm 指定更高的限制 |
错误 C1077 | 编译器限制:不能有 number 个以上的命令行选项 |
错误 C1079 | (已过时) 编译器限制: 超出 PCH 文件大小限制 |
错误 C1080 | 编译器限制:命令行选项超出 number 个字符的限制 |
错误 C1081 | “file”:文件名太长 |
错误 C1082 | 无法关闭 type 文件:“file”: message |
错误 C1083 | 无法打开 type 文件:“file”: message |
错误 C1084 | 无法读取 type 文件:“file”: message |
错误 C1085 | 无法写入 type 文件:“file”: message |
错误 C1086 | 无法查找 type 文件:“file”: message |
错误 C1087 | 无法告知 type 文件:“file”: message |
错误 C1088 | 无法刷新 type 文件:“file”: message |
错误 C1089 | 无法截断 type 文件:“file”: message |
错误 C1090 | PDB API 调用失败,错误代码“code”:“message” |
错误 C1091 | 编译器限制:字符串长度超过 number 个字节 |
错误 C1092 | “编辑并继续”不支持对数据类型的更改;需要生成 |
错误 C1093 | API 调用 "function" 对 "HRESULT" 失败: "description" |
错误 C1094 | "-Zm number": 命令行选项与用于生成预编译头 ("number") 的值不一致-Zm |
错误 C1098 | 版本与“编辑并继续”引擎不匹配 |
错误 C1099 | “编辑并继续”引擎正在终止编译 |
错误 C1100 | 无法初始化 OLE: error |
错误 C1101 | 无法创建特性“identifier”的处理程序 |
错误 C1102 | 无法进行初始化: error |
错误 C1103 | 导入 progid 时遇到错误:“message” |
错误 C1104 | 导入 libid 时遇到错误:“message” |
错误 C1105 | 消息: HRESULT 错误 |
错误 C1107 | 未能找到程序集 "assembly": 请使用 或通过设置 /AI 环境变量指定程序集搜索路径LIBPATH |
错误 C1108 | 无法找到 DLL:“file” |
错误 C1109 | 无法在 DLL“file”中找到“symbol” |
错误 C1110 | 嵌套的模板/泛型定义太多 |
错误 C1111 | 模板/泛型参数太多 |
错误 C1112 | 编译器限制:“number”个过多宏参数,仅允许使用“number”个 |
错误 C1113 | 在 "file" 上 #using 失败 |
错误 C1114 | "file": WinRT 不支持托管程序集的 #using |
错误 C1115 | 嵌套 Lambda 太多 |
错误 C1116 | 导入模块/标头单元 "name" 时发生不可恢复的错误。 使用参数 "argument-list" 的 "primary-template" 专用化 |
错误 C1117 | 导入模块/标头单元 "name" 时发生不可恢复的错误: 已定义符号 "symbol-name" |
错误 C1118 | 无法在对象文件 "object-file" 中展开 file-type 文件名中的环境变量 variable-name |
错误 C1119 | 从模块 "module-name" 导入符号 "symbol-name" 时发生不可恢复的错误 |
错误 C1120 | 对 "function" 调用 GetProcAddress 失败 |
错误 C1121 | 调用 CryptoAPI 失败 |
错误 C1126 | 自动分配超过 size |
错误 C1127 | Operation 需要 option |
错误 C1128 | 节数超过对象文件格式限制: 请使用 /bigobj 进行编译 |
错误 C1189 | #error : message |
错误 C1190 | 托管目标代码需要 "/clr " 选项 |
错误 C1191 | 只能在全局范围内导入“file” |
错误 C1192 | 在 "file" 上 #using 失败 |
错误 C1193 | file(line) 中预期的错误未出现 |
错误 C1194 | (已过时) 未达到 file(line) 中预期的检查点 "name" |
错误 C1195 | 在同一命令行上使用 /Yu 和 /Yc 与 /clr 选项不兼容 |
错误 C1196 | “identifier”:在类型库“typelib”中找到的标识符不是有效的 C++ 标识符 |
错误 C1197 | 无法引用“file”,因为程序已经引用了“file” |
错误 C1198 | 未来版本中将不支持 feature |
错误 C1199 | 缺少对用于解析导入声明的 IFC 文件的引用; 请确保为 "/reference " 或 "/headerUnit " 选项提供正确值 |
错误 C1201 | 类模板定义中出现语法错误后无法继续 |
错误 C1202 | 递归类型或函数依赖项上下文太复杂 |
错误 C1203 | #pragma extern_absolute 中的符号名或值规范无效 |
错误 C1204 | 中指定的符号 "symbol-name" 具有不同的值: value-1 和 value-2#pragma extern_absolute |
错误 C1205 | (已过时) 安装的运行时版本不支持这些泛型 |
错误 C1206 | (已过时) 安装的运行时版本不支持 per-appdomain 数据 |
错误 C1207 | (已过时) 安装的运行时版本不支持托管模板 |
错误 C1208 | (已过时) 安装的运行时版本不支持在堆栈上分配引用类 |
错误 C1209 | (已过时) 安装的运行时版本不支持友元程序集 |
错误 C1210 | (已过时) 安装的运行时版本不支持 /clr:pure 和 /clr:safe |
错误 C1211 | (已过时) 安装的运行时版本不支持 TypeForwardedTo 自定义特性 |
错误 C1212 | 生成时,输入文件已被另一个进程修改: "filename" |
错误 C1213 | 如果没有 /Zc:preprocessor ,则不支持标头单元 |
错误 C1214 | 模块与通过“option”请求的非标准行为发生冲突 |
错误 C1300 | 访问程序数据库 file (message) 时出错 |
错误 C1301 | 访问程序数据库 file时出错,无效的格式,请删除并重新生成 |
错误 C1302 | 在配置文件数据库“file”中没有模块“module”的配置文件数据 |
错误 C1303 | 配置文件数据库 "filename" 中的配置文件数据损坏 |
错误 C1304 | 配置文件数据库 "filename" 中的配置文件数据版本不匹配 |
错误 C1305 | 配置文件数据库“file”是用于另一个体系结构的 |
错误 C1306 | 配置文件数据基“file”的上次修改不是优化分析;优化决策可能已经过期 |
错误 C1307 | 自收集配置文件数据后已编辑了程序 |
错误 C1308 | file:不支持链接程序集 |
错误 C1309 | C2.DLL 和 pgodbversion.DLL 的版本不匹配 |
错误 C1310 | 按配置优化不能与 OpenMP 一起使用 |
错误 C1311 | COFF 格式无法以静态方式初始化“symbol”(地址为 number 个字节) |
错误 C1312 | 函数中的条件分支太多。 简化或重构源代码。 |
错误 C1313 | 编译器限制: type 块的嵌套深度不能深于 number 级 |
错误 C1350 | 加载 dll“file”时出错:没有找到 dll |
错误 C1351 | 加载 dll“file”时出错:版本不兼容 |
错误 C1352 | 函数“function”(模块“module”中)的 MSIL 无效或已损坏 |
错误 C1353 | 元数据操作失败: 未安装运行时或运行时版本不匹配 |
错误 C1354 | 访问上一个对象文件 filename (reason) 时出错 |
错误 C1355 | 无法在 PDB 帮助程序中找到入口点 "function-name" |
错误 C1356 | 找不到 PDB 帮助程序 |
错误 C1357 | 不支持 C2.DLL 的标志组合 hybrid:x86arm64, CLR |
错误 C1358 | 模块 (密钥=0xvalue) 信息不可用 |
错误 C1382 | “obj”生成后,已重新生成 PCH 文件“file”。 请重新生成此对象 |
错误 C1383 | 编译器选项 /GL 与安装的公共语言运行时版本不兼容 |
错误 C1384 | 链接“file”时 PGO_PATH_TRANSLATION 的设置不正确 |
错误 C1385 | 按配置文件优化不适用于 Thumb; 将 "filename" 作为 ARM 或 Thumb-2 编译。 |
错误 C1451 | 编译以下位置的 concurrency::parallel_for_each 的调用关系图时,未能生成调试信息: "callsite" |
错误 C1505 | 无法恢复的先行分析错误 |
错误 C1506 | 无法恢复的块范围错误 |
错误 C1507 | 以前的用户错误和后面的错误恢复使进一步的编译暂停 |
错误 C1508 | 编译器限制:“function”:多于 65535 个参数字节 |
错误 C1509 | 编译器限制:函数“function”中有太多异常处理程序状态;简化函数 |
错误 C1510 | 无法打开语言资源 clui.dll |
错误 C1511 | Message (由 capture_repro 选项使用) |
错误 C1601 | 不支持的内联程序集操作码 |
错误 C1602 | 不支持的内部函数 |
错误 C1603 | 内联程序集分支目标超出范围 number 个字节 |
错误 C1604 | 严重的 lambda 分析错误: 查看从第 number 行开始的 lambda 定义 |
错误 C1605 | 编译器限制: 对象文件大小不能超过 4 GB |
错误 C1852 | “file”不是有效的预编译头文件 |
错误 C1853 | “file”预编译头文件来自早期版本的编译器,或者预编译头为 C++,却在 C 中使用它(或相反) |
错误 C1854 | 无法覆盖在对象文件“file”中创建预编译头过程中形成的信息 |
错误 C1859 | (已过时) "Message" 意外的预编译标头错误,只需重新运行编译器就可能修复此问题 |
错误 C1900 | "tool" 版本 "number" 和 "tool" 版本 "number" 间的 IL 不匹配 |
错误 C1901 | (已过时) 内部内存管理错误 |
错误 C1902 | 程序数据库管理器不匹配;请检查安装 |
错误 C1903 | 无法从以前的错误中恢复;正在停止编译 |
错误 C1904 | 错误的提供程序交互:“file” |
错误 C1905 | 前端和后端不兼容(必须以同一处理器为目标)。 |
错误 C1906 | 未为类型 "type-name" 解析的程序集引用 "name"; 缺少选项 "-FU filename.dll"? |
错误 C1907 | 无法从以前的错误中恢复;正在停止编译 |