编译器错误 C7500 到 C7999

此部分文档提到的文章解释了编译器生成的一部分错误消息。

重要

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++ 帮助和社区

错误消息

错误 Message
编译器错误 C7500 “%$I”:没有任何函数满足其约束
编译器错误 C7501 停用“%$S”:“concept”只能应用于命名空间范围函数模板或变量模板
编译器错误 C7502 “%$S”:函数概念的声明返回类型应为“bool”
编译器错误 C7503 “%$S”:函数概念应有一个空参数列表
编译器错误 C7504 “%$S”:不应使用“%$L”声明函数概念
编译器错误 C7505 “%$S”:函数概念不应有异常规范
编译器错误 C7506 “%$S”:应定义函数概念
编译器错误 C7507 “%$S”:变量概念的声明类型应为“bool”
编译器错误 C7508 分区名称“%s”无法识别(该名称位于模块“%s”的元数据中)
编译器错误 C7509 “%s”:模块元数据的格式错误。
编译器错误 C7510 type-name”:使用依赖模板/类型名称必须带有“template/typename”前缀
编译器错误 C7511 “%$I”:“typename”关键字后面必须跟一个限定名称
编译器错误 C7512 “%$L”:不是 fold 表达式的有效运算符
编译器错误 C7513 “%$I”:无法推导占位符的类型
编译器错误 C7514 二进制 fold 表达式不能在两个表达式中具有未扩展的参数包
编译器错误 C7515 fold 表达式必须包含一个未扩展的参数包
编译器错误 C7516 “%$L”上的一元 fold 表达式必须具有非空扩展
编译器错误 C7517 二进制 fold 表达式中的“%$L”,两个运算符必须相同
编译器错误 C7518 fold 表达式至少需要“%1$M”
编译器错误 C7519 文件系统错误:无法打开“%s”,因为打开的文件过多
编译器错误 C7520 文件系统错误:无法打开“%s”,因为其不可访问
编译器错误 C7521 文件系统错误:无法读取文件“%s”的内容
编译器错误 C7522 文件系统错误:无法确定文件“%s”的内容大小
编译器错误 C7523 文件系统错误:无法读取文件“%s”的所有内容
编译器错误 C7524 “内联”说明符不能出现在块范围声明或非静态数据成员上
编译器错误 C7525 内联变量至少需要“%1$M”
编译器错误 C7526 “%$I”:未定义内联变量
编译器错误 C7527 “%$I”:不能重新声明模板参数名称
编译器错误 C7528 “%1$S”:不能在相同类的数据成员初始值设定项中使用默认构造函数或其异常规范
编译器错误 C7529 多个 using 声明符至少需要“%1$M”
编译器错误 C7530 将包扩展应用到 using 声明至少需要“%1$M”
编译器错误 C7531 主函数不能声明为“constexpr/consteval”
编译器错误 C7532 “%$I”:变量模板的专用化不能有类型“%$T”
编译器错误 C7533 “%$S”:此上下文中不允许使用模板参数
编译器错误 C7534 语法错误:“%$L”:类定义应以“}”结尾
编译器错误 C7535 “%$S”:委托构造函数调用自身
编译器错误 C7536 ifc 未通过完整性检查。 预期 SHA2:“hash-value”
编译器错误 C7537 未能正确计算 SHA2 哈希:“%s”
编译器错误 C7538 “%$I”不是变量模板
编译器错误 C7539 “%1$I”:用户声明的构造函数的类不能具有名称与类相同的成员
编译器错误 C7540 “%1$I”:成员不能与封闭类同名
编译器错误 C7541 “%1$I”:C++17 内联静态数据成员与托管类型不兼容
编译器错误 C7542 “%1$S”:应是类型
编译器错误 C7543 可能性属性只能应用于语句和标签
编译器错误 C7544 标准特性“%1$s”和“%2$s”相互排斥
编译器错误 C7545 属性“%sno_unique_address”只能应用于不是位域的非静态数据成员
编译器错误 C7546 二元运算符“<=>”:不支持的操作数类型“%$T”和“%$T”
编译器错误 C7547 标准类型“%$S”格式不正确:找不到成员“%$I”
编译器错误 C7548 停用“%$D”:默认比较函数必须在类定义中声明
编译器错误 C7549 “%$S”:默认比较函数不能声明为在推导为“%$T”的基和成员中返回强于通用类别的比较类别
编译器错误 C7550 “%1$S”:此上下文中的限定名称对构造函数命名,而不是对类型命名
编译器错误 C7551 “%1$pS”:模板参数“%2$S”:“%3$pS”:纯内部函数没有地址可用作非类型模板参数
编译器错误 C7552 “%1$S”:纯内部函数不包含地址
编译器错误 C7553 lambda 中不支持内联汇编程序
编译器错误 C7554 %1$pS 不是整数常量表达式
编译器错误 C7555 使用指定的初始值设定项至少需要“%1$M”
编译器错误 C7556 不能将指定初始值设定项与非指定初始值设定项混合
编译器错误 C7557 指定初始值设定项只能在大括号括起来的初始值设定项列表中使用
编译器错误 C7558 标准 C++ 指定初始值设定项中不允许嵌套的成员访问;请使用嵌套的初始值设定项列表
编译器错误 C7559 “%1$I”:指示符不会命名“%2$T”类型的直接非静态数据成员
编译器错误 C7560 “%1$I”:指示符必须按类“%2$S”的成员声明顺序显示
编译器错误 C7561 “%1$I”:成员指示符出现多次
编译器错误 C7562 “%1$T”:指定的初始化仅可用于初始化聚合类类型
编译器错误 C7563 要使用模板参数列表创建 lambda,需要至少“%1$M”
编译器错误 C7564 “%$pS”:没有可用的非显式函数
编译器错误 C7565 与 lambda 关联的模板参数列表不可为空
编译器错误 C7566 要将包扩展应用到初始捕获,需要至少“%1$M”
编译器错误 C7567 “/permissive-”不支持“%1$L”
编译器错误 C7568 假定的函数模板“%1$I”后面缺少参数列表
编译器错误 C7569 联合的初始值设定项列表不具有多个元素
编译器错误 C7570 “%1$pS”:已定义变量模板
编译器错误 C7571 “%1$pS”:已初始化变量模板
编译器错误 C7572 “使用枚举 %1$S;”至少需要“%2$M”
编译器错误 C7573 “%1$S”:using 声明格式错误,应为限定名称或枚举
编译器错误 C7574 未定义枚举“%1$pS”
编译器错误 C7575 “%1$S”:使用枚举声明会对依赖类型命名
编译器错误 C7576 “%1$I”的声明隐藏了模板参数
编译器错误 C7577 全局模块片段只能出现在翻译单元的开始处
编译器错误 C7578 全局模块片段中出现意外的文件结尾;应为模块声明
编译器错误 C7579 全局模块片段之后的模块声明不能由宏扩展或标头包含生成
编译器错误 C7580 declspec(xfg_reuse_typehash) 的成员“%1$pS”必须使用 declspec(xfg_virtual) 进行声明
编译器错误 C7581 “%1$S”:XFG declspecs 只能通过 this 指针参数应用于全局函数,或应用于指向函数的指针类型的数据成员
编译器错误 C7582 “%1$I”:位域的默认成员初始值设定项至少需要“%2$M”
编译器错误 C7583 未命名位域不能具有默认成员初始值设定项
编译器错误 C7584 for-range-declaration 不能定义类或枚举
编译器错误 C7585 具有初始值设定项的 for 语句(基于范围)至少需要“%1$M”
编译器错误 C7586 “%$s”指令必须在同一行上以“;”结尾
编译器错误 C7587 “%1$L”不能出现在未计算的上下文中
编译器错误 C7588 必须为要推导的此协同例程的返回类型提供类模板 %s 的定义
编译器错误 C7589 默认比较运算符至少需要“%1$M”
编译器错误 C7590 要求正文必须包含至少一个要求
编译器错误 C7591 bit_cast 要求“%1$T”和“%2%T”大小相同
编译器错误 C7592 “%1$T”类型的非类型模板参数至少需要“%2$M”
编译器错误 C7593 返回类型要求不应是尾随返回类型“-> T”。 请考虑改用“-> std::convertible_to<T>
编译器错误 C7594 UTF-16 代理项“0x%x”无效
编译器错误 C7595 “%1$S”:对即时函数的调用不是常量表达式
编译器错误 C7596 “%1$S”:无法在即时调用之外获取即时函数的地址
编译器错误 C7597 “%1$D”:“consteval”:重写函数必须与已重写的函数匹配
编译器错误 C7599 “%1$S”:仅允许在模板化函数上使用尾随 requires 子句
编译器错误 C7600 “%1$S”:类型约束指定的概念应为类型概念
编译器错误 C7601 未满足关联约束
编译器错误 C7602 “%1$pS”:未满足关联约束
编译器错误 C7603 “%1$S”:概念定义不具有约束表达式
编译器错误 C7604 “%1$S”:“concep”只能应用于命名空间范围的概念定义
编译器错误 C7605 “%1$S”:概念不应具有关联约束
编译器错误 C7606 “%1$S”:不能显式实例化、显式专用化或部分专用化概念
编译器错误 C7607 原子约束应为“bool”类型的常量表达式,而不是“%1$T”
编译器错误 C7608 原子约束应为常量表达式
编译器错误 C7609 “%1$S”:类型约束需要一个概念名称
编译器错误 C7610 运算符“%$L”:禁止在枚举类型与浮点类型之间使用
编译器错误 C7611 运算符“%$L”:禁止用于数组类型
编译器错误 C7612 找不到“%s”的标头单位
编译器错误 C7613 输入“%s”的计算结果不是标头单位
编译器错误 C7614 __VA_OPT__ 后面必须是“(”
编译器错误 C7615 __VA_OPT__ 必须以“)”结尾
编译器错误 C7616 __VA_OPT__ 不能嵌套在另一个 __VA_OPT__
编译器错误 C7617 “%$S”:协同例程不能有包含“auto”的返回类型
编译器错误 C7618 除非声明主模块单元或接口,否则无法导入模块分区“%s”
编译器错误 C7619 无法导出“%1$S”,因为模块分区“%2s”不参与模块单元“%3s”的导出接口
编译器错误 C7620 无法导出模块分区“%1s”,它不是接口单元
编译器错误 C7621 找不到模块分区“%s”(针对模块单元“%s”)
编译器错误 C7622 模块接口文件扩展名与“/module:internalPartition”不兼容,因为该分区不是一个接口
编译器错误 C7623 “%$pS”:重定义;不同的 XFG declspec
编译器错误 C7624 类型名称“%1$S”不能出现在类成员访问表达式的右侧
编译器错误 C7625 协同例程承诺 return_value 或 return_void 表达式的类型必须为 void
编译器错误 C7626 typedef 名称中使用的未命名的类不能声明非静态数据成员、成员枚举或成员类以外的成员
编译器错误 C7627 “%1$T”:不是“%2$S”的有效模板参数
编译器错误 C7628 “%1$D”:不能为默认值,因为它未声明为“%2$S”的友元
编译器错误 C7629 “%1$D”:不能是默认值;比较函数已定义为“已删除”
编译器错误 C7630 “c%s”:不支持的 C 版本;将使用默认值
编译器错误 C7631 “%1$S”:已声明但未定义内部链接的变量
编译器错误 C7632 “%1$S”:不允许在虚拟函数上使用尾随 requires 子句
编译器错误 C7633 需求参数列表中的参数不应具有默认参数
编译器错误 C7634 “%1$T”:不是有效的比较类型;请考虑改用“%2$T”
编译器错误 C7635 模块导入声明不能出现 %$M
编译器错误 C7636 “%1$T”:“%2$I”的表达式类型无效;必须是指向数据的指针
编译器错误 C7637 %1$T:在定义类模板时不能对其进行隐式实例化
编译器错误 C7638 /newAlignment 参数必须是 2 的幂
编译器错误 C7639 /newAlignment 要求至少 /std:c++17
编译器错误 C7640 “%1$s”的特性参数无法识别
编译器错误 C7641 “%1$s”缺少特性参数
编译器错误 C7642 不支持的 IFC 格式版本 %d.%d
编译器错误 C7643 “%1$S”:“%2$L”说明符不能出现在函数参数上
编译器错误 C7644 销毁运算符 delete 函数必须是成员函数
编译器错误 C7645 销毁运算符 delete 的第一个形式参数必须是指向封闭类类型的指针,但它却是“%$T”
编译器错误 C7646 销毁运算符 delete 函数不能是数组 delete 运算符“operator delete[]”
编译器错误 C7647 销毁运算符 delete 函数必须是常用解除分配函数
编译器错误 C7648 转换函数不能具有尾随返回类型
编译器错误 C7649 属性“xfg::rename”仅可应用于结构、类和虚拟方法
编译器错误 C7650 必须向属性“xfg::rename”传递字符串参数
编译器错误 C7651 %1$I 不能与 /await 一起使用。 请使用“%2$M”或更高版本来实现标准协同例程支持
编译器错误 C7652 如果成员函数具有尾随的 requires 子句,则具有相同签名的另一成员函数(不考虑所有尾随的 requires 子句)不能是虚拟函数
编译器错误 C7653 “%1$S”:未能为类选择析构函数
编译器错误 C7654 专用模块片段仅可出现在主模块接口中
编译器错误 C7655 无法在专用模块片段的范围内导出声明
编译器错误 C7656 无法重新声明专用模块片段
编译器错误 C7657 专用模块片段不能在模块声明之前声明
编译器错误 C7658 “%1$S”:初始值设定项必须是变量的地址
编译器错误 C7659 属性“xfg::rename”可能不适用于嵌套的类层次结构
编译器错误 C7660 “%s”:需要“%s”个命令行选项
编译器错误 C7661 标头“%s”的标头名称“%s”解析不明确
编译器错误 C7662 “%$S”:协同例程不能是 constexpr 或 consteval
编译器错误 C7688 #pragma omp atomic”:应为标量类型的表达式
编译器错误 C7686 TOML 分析错误
编译器错误 C7700 泛型关联中的类型“%$T”与之前的关联类型“%$T”兼容
编译器错误 C7701 之前指定的默认泛型关联
编译器错误 C7702 泛型关联列表中没有“%$T”的兼容类型
编译器错误 C7703 内联嵌套命名空间至少需要“%1$M”
编译器错误 C7704 “_Alignas”说明符只能用于变量和结构字段

另请参阅

C/C++ 编译器和生成工具错误与警告
编译器错误 C2000 - C3999、C7000 - C7999