编译器错误 C3500 - C3999

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

重要

Visual Studio 编译器和生成工具可报告多种类型的错误和警告。 发现错误或警告后,生成工具可做出有关代码意向的假设并尝试继续,因此,可能会同时报告更多问题。 如果工具做出错误假设,则后续错误或警告可能不适于你的项目。 纠正项目中的问题时,请始终先纠正报告的第一个错误或警告,然后在通常情况下重新生成。 一个修复程序可以解决多个后续错误。

若要在 Visual Studio 中获取有关特定诊断消息的帮助内容,请在“输出”窗口中选择该消息,然后按 F1 键。 Visual Studio 会打开该错误的文档页(如果存在)。 还可以使用页面顶部的搜索工具查找有关特定错误或警告的文章。 或者,在本页的目录中按工具和类型浏览错误和警告列表。

注意

并非所有 Visual Studio 错误或警告均有记录。 在许多情况下,诊断消息将提供所有可用信息。 如果登录此页面并认为错误或警告消息需要其他说明,请使用此页面上的反馈按钮告知我们。 如果认为错误或警告是错误的,或者发现了工具集的其他问题,请在开发者社区网站上报告产品问题。 还可以在 IDE 中发送反馈并输入 bug。 在 Visual Studio 中,转到菜单栏并选择 帮助 > 发送反馈 > 报告问题,或使用 帮助 > 发送反馈 > 建议功能提交建议。 创建了一些编译程序错误主题,这些主题不是由编译程序发出的,但现在会重定向到此页面。

可以在 Microsoft Q&A C++ 论坛 中找到有关错误和警告的其他帮助。 或者,在 Visual Studio C++ 开发者社区网站上搜索错误或警告编号。 还可以搜索 Stack Overflow 以查找解决方案。

有关指向其他帮助和社区资源的链接,请参阅 Visual C++ 帮助和社区

错误消息

错误 消息
编译器错误 C3500 无效的 ProgID“progid
编译器错误 C3501 没有为 ProgID“progid”注册的 typelib
编译器错误 C3502 无法获得 ProgID 'progid' 的 LIBID
编译器错误 C3503 原始字符串字面量中不允许使用字符“0xvalue
编译器错误 C3504 无法从字符串 'string' 创建 GUID
编译器错误 C3505 无法加载类型库 'library'
编译器错误 C3506 没有为 LIBID“library”注册类型库
编译器错误 C3507 ProgID 不能有多于 39 个字符的“progid”;也不能包含除“.”外的任何标点;也不能以数字开头
编译器错误 C3508 type:不是有效的自动化类型
编译器错误 C3509 “type”: 无效的自动化返回类型;参数标记为“retval”时,返回类型必须是“void”、“HRESULT”或“SCODE”
编译器错误 C3510 找不到依赖的类型库 library_name
编译器错误 C3511 identifier:对委托构造函数的调用应当是唯一的成员初始值设定项
编译器错误 C3512 原始字符串字面量的分隔符序列长度不得超过 16 个字符
编译器错误 C3513 string:不受支持的原始字符串字面量分隔符字符
编译器错误 C3514 '字符'():不受支持的原始字符串字面量分隔符字符
编译器错误 C3515 如果类模板部分专用化的参数是一个包扩展,则它应是最后一个参数
编译器错误 C3516 处理原始字符串字面量时发现意外的文件结尾;未找到匹配的定界符序列“string
编译器错误 C3517 identifier”别名声明不能具有包含“auto”的类型
编译器错误 C3518 'identifier':在直接列表初始化上下文中,'type' 的类型只能从单个初始化表达式中推导出来
编译器错误 C3519 '参数':embedded_idl 属性的参数无效
编译器错误 C3520 “identifier”: 必须在此上下文中扩展参数包
编译器错误 C3521 “identifier”不是参数包
编译器错误 C3522 'type':无法在此上下文中扩展参数包
编译器错误 C3523 “sizeof...”需要一个未扩展的参数包作为其参数
编译器错误 C3524 “identifier”:“sizeof”不能应用于参数包。 你是否想使用“sizeof...”?
编译器错误 C3525 “parameter”: 如果类模板具有模板参数包,则它必须出现在模板参数列表的末尾
编译器错误 C3526 ‘...’不能应用于‘this’
编译器错误 C3527 'identifier' 不是 'sizeof...' 的有效操作数。 你是否想使用“sizeof”?
编译器错误 C3528 “identifier1”: 此包扩展中的元素数与“identifier2”中的元素数不匹配
编译器错误 C3529 “parameter”: 模板参数包不能含有默认参数
编译器错误 C3530 “type”不能与任何其他类型说明符组合
编译器错误 C3531 类型包含 'type' 的符号 'identifier' 必须具有初始化表达式
编译器错误 C3532 数组的元素类型不能是包含“type”的类型
编译器错误 C3533 参数的类型不能包含“type
编译器错误 C3534 已过时。
编译器错误 C3535 无法从type2推断type1的类型
编译器错误 C3536 '标识符': 在初始化之前无法使用
编译器错误 C3537 无法强制转换为包含 type 的类型
编译器错误 C3538 在声明符列表中,'type' 必须始终推导为同一类型
编译器错误 C3539 模板参数不能为包含“type”的类型
编译器错误 C3540 不能将 sizeof 应用于包含“type”的类型
编译器错误 C3541 不能将 typeid 应用于包含“type”的类型
编译器错误 C3542 “identifier”: 虚拟成员函数不应具有含“type”的返回类型
编译器错误 C3543 “type”: 不包含参数包
编译器错误 C3544 “parameter”: 参数包需要一个类型模板参数
编译器错误 C3545 “parameter”: 参数包需要一个非类型模板参数
编译器错误 C3546 “...”: 没有可扩展的参数包
编译器错误 C3547 无法使用模板参数“parameter”,因为它跟随一个模板参数包,无法从“function”的函数参数推导出来
编译器错误 C3548 “identifier”: 无法在此上下文中使用参数包
编译器错误 C3549 “value”: 函数参数包不能具有默认参数
编译器错误 C3550 在此上下文中,仅允许使用普通的“decltype(auto)”
编译器错误 C3551 如果使用尾随返回类型,则主要返回类型应该是单个类型说明符“auto”(而不是“type”)
编译器错误 C3552 应该为“decltype(auto)”
编译器错误 C3553 decltype 要求的是表达式,而不是类型
编译器错误 C3554 “type”不能与任何其他类型说明符组合
编译器错误 C3555 `decltype` 的参数不正确
编译器错误 C3556 expression”:'decltype' 的参数不正确
编译器错误 C3557 已过时。
编译器错误 C3558 已过时。
编译器错误 C3559 对“function”的递归调用:在编译位于“function”处的 concurrency::parallel_for_each 的调用图时检测到递归
编译器错误 C3560 'function':编译位于“function”的 concurrency::parallel_for_each 的调用图时,IL 不可用
编译器错误 C3561 在为以下位置的 concurrency::parallel_for_each 编译调用图时,在非 tile-uniform 的控制流中发现了 tile barrier 操作:'function'
编译器错误 C3562 内置函数“function”的参数个数不能超过 number
编译器错误 C3563 编译位于“function”的 concurrency::parallel_for_each 调用图时,检测到无限循环。
编译器错误 C3564 在为 concurrency::parallel_for_each 编译调用图时,在“function”处读取了未初始化的值
编译器错误 C3565 在编译 concurrency::parallel_for_each 的调用图时,tile_static 内存总量(number 字节)超出了 number 字节的限制
编译器错误 C3566 在编译位于“function”的 concurrency::parallel_for_each 的调用图时,具有副作用的代码块嵌套过深
编译器错误 C3567 在编译位于 'function' 的 concurrency::parallel_for_each 的调用图时,检测到除以零或对零取模。
编译器错误 C3568 编译 concurrency::parallel_for_each 的调用图时,寄存器总数超过了 number 的限制。 请简化程序
编译器错误 C3569 在编译 concurrency::parallel_for_each 的调用图时,在以下位置检测到竞争条件: 'function'
编译器错误 C3570 使用 /clr 编译时非法使用 AMP 受限作用域
编译器错误 C3571 “type”: 非法的计算域参数;不是类类型
编译器错误 C3572 “type”: 非法的计算域参数;缺少公共成员“static const int rank”,或 rank 值为非正数
编译器错误 C3573 传递给 concurrency::parallel_for_each 的 concurrency::graphics::sampler 实例数不能超过 数量
编译器错误 C3574 “type”: 非法的平铺范围: 必须是正数,并且 (1) Z <= number;(2) ZYX <= number
编译器错误 C3575 'type':非法计算域参数;缺少公有成员:'concurrency::index<number> _map_index(const concurrency::index<number>&) restrict(amp)'
编译器错误 C3576 'type': concurrency::details::_Parallel_for_each 参数 #number 的类型不受支持
编译器错误 C3577 concurrency::parallel_for_each 内核参数不合法:无法解析对成员函数“void operator()(type) restrict(amp)”的调用
编译器错误 C3578 传递给 concurrency::parallel_for_each 的函数对象大小不能超过 number 字节
编译器错误 C3579 传递给 concurrency::parallel_for_each 的 concurrency::array 和 concurrency::graphics::texture 的只读实例数不能超过 number
编译器错误 C3580 传递给 concurrency::parallel_for_each 的 concurrency::array 和 concurrency::graphics::texture 的可写实例数量不能超过 number
编译器错误 C3581 'type':AMP 受限代码中出现了不受支持的类型
编译器错误 C3582 已过时。
编译器错误 C3583 'identifier':变量的大小(number 字节)超过了 AMP 受限代码中支持的最大大小(number 字节)
编译器错误 C3584 不支持对“identifier”使用 tile_static
编译器错误 C3585 'identifier' 在 amp 受限代码中具有不受支持的存储类
编译器错误 C3586 'identifier':在 AMP 受限代码中,不支持使用全局或静态变量
编译器错误 C3587 AMP 受限代码中不支持 dynamic_cast
编译器错误 C3588 在 AMP 受限代码中,不支持从 'type1' 强制转换为 'type2'
编译器错误 C3589 'string':AMP 受限代码中不支持使用字符串字面量
编译器错误 C3590 如果 lambda 表达式受 AMP 限制,则不支持捕获“value
编译器错误 C3591 amp 限制代码中不支持 typeid 运算符
编译器错误 C3592 AMP 限制代码中不支持内联本机汇编(“__asm”)
编译器错误 C3593 AMP 受限代码中不支持“goto”
编译器错误 C3594 amp 限制代码中不支持异常处理(try、catch、throw 等)
编译器错误 C3595 amp 限制代码中的常量值超出了支持的范围
编译器错误 C3596 parameter”(“type”):lambda 捕获的变量具有 amp 受限代码中不受支持的类型
编译器错误 C3597 parameter”:如果 lambda 受 amp 限制,则不允许按值捕获“identifier
编译器错误 C3598 amp 限制代码中不支持标签语句
编译器错误 C3599 operator”:无法在 AMP 受限代码中对指向 bool 的指针执行指针算术
编译器错误 C3600 “function”: 编译以下位置的非平铺 concurrency::parallel_for_each 的调用关系图时,检测到使用了 tile_static 内存:“function
编译器错误 C3601 'type':对于 amp 诊断函数 'function',是无效的参数类型
编译器错误 C3602 编译位于 'function' 的 concurrency::parallel_for_each 的调用图时,检测到不受支持的控制流。
编译器错误 C3603 symbol”:尚不支持类型“type
编译器错误 C3604 identifier”:只能在 GC 堆上创建托管对象
编译器错误 C3605 在以下位置为 concurrency::parallel_for_each 编译调用图时,采样器总数(已捕获 number 个,已预定义 number 个)超过 number:'function'
编译器错误 C3606 无法将内部函数“function”映射到 HLSL
编译器错误 C3607 结构化绑定声明不能有约束
编译器错误 C3609 “identifier”:“密封/最终”函数必须是虚拟函数
编译器错误 C3610 “identifier”: 在调用“method”方法之前必须将值类型“装箱”
编译器错误 C3611 'identifier':密封的函数不能具有纯说明符
编译器错误 C3612 'identifier':密封类不能包含任何纯虚函数
编译器错误 C3613 “->”后缺少返回类型(假定为“int”)
编译器错误 C3614 同一类中包大小的不同值;先前的值为“value”,新值为“value
编译器错误 C3615 constexpr 函数“function”不能生成常数表达式
编译器错误 C3616 已过时。
编译器错误 C3617 结构化绑定的初始值设定项必须是数组或非联合类类型;不允许使用“type_name”类型
编译器错误 C3618 声明”:标记为 DllImport 的方法无法定义
编译器错误 C3619 不能在托管/WinRT 类型中声明模板
编译器错误 C3620 'type':不允许在 WinRT 类型上设置对齐
编译器错误 C3621 'type':WinRT 类型只允许默认打包值(number
编译器错误 C3622 'type': 声明为 'keyword' 的类无法实例化
编译器错误 C3623 'identifier':托管/WinRT 类型不支持位域
编译器错误 C3624 'type':使用此类型需要引用程序集/模块“identifier
编译器错误 C3625 “class”: 本机类型不能从托管/ WinRT 类型“type”派生
编译器错误 C3626 identifier”: “keyword”关键字只能用于 COM 接口、指向委托的成员函数和数据成员
编译器错误 C3627 只有值类型才能被装箱
编译器错误 C3628 'class':托管/WinRT 类仅支持公有继承
编译器错误 C3629 “token”: 捕获默认值只能出现在 lambda 捕获列表的开头
编译器错误 C3630 处理令牌“token”时出错(在 Visual Studio 2022 中已过时。)
编译器错误 C3631 'event': 无法重载托管/WinRT 事件
编译器错误 C3632 “event”: 用于 construct 的事件样式非法
编译器错误 C3633 不能将“标识符”定义为托管“”的成员
编译器错误 C3634 'member':无法定义托管/WinRT 类的抽象方法
编译器错误 C3635 identifier”:无法应用于托管/WinRT 类(请改用“identifier”)
编译器错误 C3636 identifier”:不能应用于此类型
编译器错误 C3637 'function':友元函数定义不能是函数模板/泛型函数的特化
编译器错误 C3638 'operator':标准装箱和取消装箱转换运算符不能重新定义
编译器错误 C3639 作为默认参数一部分的 lambda 只能使用 init-capture
编译器错误 C3640 member”:局部类中被引用的成员函数或虚成员函数必须已定义
编译器错误 C3641 'function':为使用 /clr:pure/clr:safe 编译的函数指定的调用约定 'convention' 无效
编译器错误 C3642 “function”: 不能从本机代码中调用包含 __clrcall 调用约定的函数
编译器错误 C3643 “%$S”: 无法分解“%$S”和“%$S”中具有非静态数据成员的类型
编译器错误 C3644 '函数': 无法将该函数编译为托管代码
编译器错误 C3645 函数”: 不能对编译为本机代码的函数使用 __clrcall
编译器错误 C3646 'identifier': 未知重写说明符
编译器错误 C3647 已过时。
编译器错误 C3648 托管类型不支持此显式重写语法
编译器错误 C3649 不允许对 /ZW 使用此显式重写语法
编译器错误 C3650 “member”: 不能用作显式重写,必须是基类的虚拟成员函数
编译器错误 C3651 member”:不能用作显式重写项,必须是某个基类的成员
编译器错误 C3652 'member': 显式重写的函数必须是虚函数
编译器错误 C3653 'identifier':不能用作具名重写:找不到被重写的函数;是否忘记了使用 a:: 运算符显式命名该函数?
编译器错误 C3654 token:显式覆盖中存在语法错误
编译器错误 C3655 “member”: 函数已经显式替代
编译器错误 C3656 “keyword”: 重写说明符不能重复
编译器错误 C3657 析构函数/终结器不能进行显式重写,也不能被显式重写
编译器错误 C3658 已过时。
编译器错误 C3659 “member”: 不支持重写说明符“keyword
编译器错误 C3660 'member1':隐藏了继承的成员 'member2'
编译器错误 C3661 显式重写列表中未找到任何可重写的方法
编译器错误 C3662 “member”: 重写说明符“keyword”只允许在托管/ WinRT 类的成员函数上使用
编译器错误 C3663 已过时。
编译器错误 C3664 “member”: 不能用作显式重写,必须具有“公共”或“受保护的”可访问性
编译器错误 C3665 'member':不允许在析构函数/终结器上使用 override 说明符 'keyword'
编译器错误 C3666 constructor:构造函数中不允许使用 override 说明符 keyword
编译器错误 C3667 “attribute”: 属性不支持包扩展
编译器错误 C3668 'member':带有重写说明符“override”的方法没有重写任何基类方法
编译器错误 C3669 member”:静态成员函数或构造函数上不允许使用“override”说明符
编译器错误 C3670 'member':无法重写不可访问的基类方法 'member'
编译器错误 C3671 member”:函数未重写“member
编译器错误 C3672 伪析构函数表达式只能用作函数调用的一部分
编译器错误 C3673 'class':类没有复制构造函数
编译器错误 C3674 未找到标准库模块 'module'
编译器错误 C3675 'function':由于 'property' 已定义,因此被保留
编译器错误 C3676 “class”: ref 类和基类具有不兼容的属性“[attribute]”
编译器错误 C3677 “operator”后的字符串字面量不能带有编码前缀
编译器错误 C3678 “operator”后的字符串字面量必须是空字符串“""""”
编译器错误 C3679 “operator """"”后应有一个文本后缀标识符
编译器错误 C3680 不能将用户定义的字符串字面量与不匹配的文本后缀标识符连接
编译器错误 C3681 “fallthrough”: 属性可能仅出现在封闭的 switch 语句中
编译器错误 C3682 “operator identifier”:字面量运算符/字面量运算符模板不能声明为具有“C”链接
编译器错误 C3683 不能使用相同的文本后缀标识符定义原始文本运算符和文本运算符模板
编译器错误 C3684 “operator identifier”:字面量运算符的声明具有无效的参数列表
编译器错误 C3685 “operator identifier”:字面量运算符模板不能有函数参数
编译器错误 C3686 “operator identifier”:字面量运算符模板必须恰好具有一个模板参数,且该参数必须是参数包
编译器错误 C3687 “operator identifier”:字面量运算符模板必须具有“char”类型的非类型模板参数
编译器错误 C3688 无效的字面量后缀“suffix”;未找到字面量运算符或字面量运算符模板“operator identifier
编译器错误 C3689 “operator identifier”:字面量运算符/字面量运算符模板必须位于全局或命名空间作用域中
编译器错误 C3690 应该为字符串字面量,但找到的是用户定义的字符串字面量
编译器错误 C3691 文本前缀“prefix”无效
编译器错误 C3692 伪析构函数表达式中不能使用非标量类型“type_name
编译器错误 C3693 identifier”:无法通过引用捕获位域
编译器错误 C3694 结构化绑定声明不能包含除“static”、“thread_local”、“auto”和 cv 限定符以外的任何说明符
编译器错误 C3695 “%$S”: 无法分解包含匿名联合或结构的类型
编译器错误 C3696 'keyword':无法对“%”使用此限定符
编译器错误 C3697 “keyword”: 无法在“^”上使用此限定符
编译器错误 C3698 'type':不能将此类型用作 'operator' 的参数
编译器错误 C3699 'operator':无法对类型 'type' 使用此间接引用
编译器错误 C3700 文件名缺少结束符“%c”
编译器错误 C3701 'function':事件源不包含任何事件
编译器错误 C3702 COM 事件需要使用 ATL
编译器错误 C3703 “event_handler”: 事件处理程序方法必须具有与源“event”相同的存储类
编译器错误 C3704 “member”: vararg 方法无法激发事件
编译器错误 C3705 函数”:找不到事件接口
编译器错误 C3706 函数”:必须是用于触发 COM 事件的 COM 接口
编译器错误 C3707 成员”:dispinterface 方法必须具有 dispid
编译器错误 C3708 'function':“keyword”使用不当;必须是兼容的事件源的成员
编译器错误 C3709 “function”: 在 __hook/__unhook 中指定事件的语法不正确
编译器错误 C3710 “function”: 在 __hook/__unhook 中指定事件处理程序的语法不正确
编译器错误 C3711 'event':非托管事件源方法必须返回 void 或整型
编译器错误 C3712 “event_handler”: 事件处理程序方法必须返回与源“event”相同的类型
编译器错误 C3713 “event_handler”: 事件处理程序方法必须具有与源“event”相同的函数参数
编译器错误 C3714 “event_handler”: 事件处理程序方法必须具有与源“event”相同的调用约定
编译器错误 C3715 '指针':必须是指向 '类型' 的指针
编译器错误 C3716 “%$L”: 不允许生成具有模块构造的预编译标头
编译器错误 C3717 “member”: 不能定义激发事件的方法
编译器错误 C3718 只能在接收方类的成员函数上下文中调用“__keyword
编译器错误 C3719 “member”: 基于接口的事件源只能用于 COM 事件
编译器错误 C3720 type”:只能在双接口或 dispinterface 上实现 IDispatch
编译器错误 C3721 '签名': 事件的签名不兼容
编译器错误 C3722 不允许泛型事件
编译器错误 C3723 'function':无法解析事件
编译器错误 C3724 必须添加 #include <windows.h> 才能对事件使用多线程处理
编译器错误 C3725 已过时。
编译器错误 C3726 无法将 SecureHotPatch 转换应用于“%s”。 解释
编译器错误 C3727 'event':托管事件必须是成员函数,或是指向委托的指针类型的数据成员
编译器错误 C3728 event:事件没有触发方法
编译器错误 C3729 属性说明符不能同时包含 using 命名空间前缀和范围属性
编译器错误 C3730 已过时。
编译器错误 C3731 事件“event”和处理程序“event_handler”不兼容;事件源和事件处理程序必须有相同的事件类型
编译器错误 C3732 接口”:触发 COM 事件的自定义接口不能继承自 IDispatch
编译器错误 C3733 “event”: 指定 COM 事件的语法不正确;是否忘记了“__interface”?
编译器错误 C3734 'class':托管类或 WinRT 类不能是协类
编译器错误 C3735 模板或泛型已重新定义
编译器错误 C3736 “member”: 必须是方法,在托管事件中也可以是数据成员
编译器错误 C3737 'identifier':委托不能具有显式调用约定
编译器错误 C3738 “convention”: 显式实例化的调用约定必须与被实例化的模板的调用约定匹配
编译器错误 C3739 class:仅在 event_receiver 的 'layout_dependent' 参数为 true 时才支持此语法
编译器错误 C3740 “template”: 模板不能发出或接收事件
编译器错误 C3741 class”:当 event_receiver 的“layout_dependent”参数为 true 时,必须是协类
编译器错误 C3742 “token1”:“attribute”的属性参数中的标记顺序不均衡,应为“token2
编译器错误 C3743 只有当 event_receiver 的“layout_dependent”参数为 true 时,才能挂钩/解除挂钩整个接口
编译器错误 C3744 __unhook 必须至少有 3 个用于托管事件的参数
编译器错误 C3745 函数”:只有事件才能被“引发”
编译器错误 C3746 标准属性“identifier”可最多在属性列表中出现一次
编译器错误 C3747 缺少默认模板/泛型参数:参数 number
编译器错误 C3748 'interface':非托管接口可能不会触发事件
编译器错误 C3749 “attribute”: 自定义属性不能在函数内部使用
编译器错误 C3750 token”:属性说明符中出现意外的标记
编译器错误 C3751 'identifier':属性列表中出现意外标识符
编译器错误 C3752 “attribute”: 无法对属性进行分类;不应在此上下文中使用“keyword
编译器错误 C3753 不允许使用泛型属性
编译器错误 C3754 委托构造函数:无法在类型“type”的实例上调用成员函数“member
编译器错误 C3755 identifier”:可能未定义委托
编译器错误 C3756 已过时。
编译器错误 C3757 'type':'constexpr' 函数不允许使用该类型(在 Visual Studio 2022 中已弃用。)
编译器错误 C3758 'member': 虚函数不能声明为 'constexpr'
编译器错误 C3759 “member”: 非文本类型的成员函数不能声明为“constexpr”(在 Visual Studio 2022 中已过时。)
编译器错误 C3760 请使用 __property 关键字在托管/WinRT '' 中声明属性
编译器错误 C3761 “function”:“retval”只能出现在函数的最后一个参数上
编译器错误 C3762 无法处理属性“attribute
编译器错误 C3763 'type': 'retval' 和 'out' 只能用于数据指针类型
编译器错误 C3764 member”: 无法重写基类方法“member
编译器错误 C3765 “event”: 无法在标记为 event_receiver 的类/结构“type”中定义事件
编译器错误 C3766 type”必须为接口方法“function”提供实现
编译器错误 C3767 '函数': 候选函数不可访问
编译器错误 C3768 在纯托管代码中,不能获取虚函数 vararg 的地址
编译器错误 C3769 identifier”:嵌套类不能与其直接外围类同名
编译器错误 C3770 “type”: 不是有效基类
编译器错误 C3771 'identifier': 未在最近的命名空间作用域中找到友元声明
编译器错误 C3772 'identifier':友元模板声明无效
编译器错误 C3773 C++version中,在此上下文中使用“feature”属于非规范扩展
编译器错误 C3774 找不到 'scope::identifier': 请包含 header_name 头文件
编译器错误 C3775 “function”的返回类型不应为“type
编译器错误 C3776 无法在具有非 void 最终返回类型的协同例程中返回 void 类型的表达式
编译器错误 C3777 'function':协程不能使用可变参数列表
编译器错误 C3778 alloca: 不可用于协同例程
编译器错误 C3779 function”:返回“auto”的函数在定义之前不能使用
编译器错误 C3780 function”:返回“auto”的转换函数不能在定义之前使用
编译器错误 C3781 'keyword':不能在类型为 'type' 的协程中使用。 关联的 promise_type 中必须存在 keywordkeyword
编译器错误 C3782 type:协程的 promise 对象不能同时包含 keywordkeyword
编译器错误 C3783 'identifier': 不能是协程
编译器错误 C3784 关键字 不能在此上下文中显示
编译器错误 C3785 “std::integer_sequence”的第一个模板参数必须是整型
编译器错误 C3786 “std::make_integer_sequence”的第二个模板参数必须为大于或等于零的整数常量
编译器错误 C3787 无法推导此协程的返回类型
编译器错误 C3788 此函数不能是协程:‘type_name’不是类
编译器错误 C3789 此函数不能是协程:'%$T' 未声明成员 '%$I()'
编译器错误 C3790 捕获“*this”需要“%1$M”
编译器错误 C3791 当默认捕获模式为通过复制 (=) 捕获时,无法显式捕获“this”
编译器错误 C3792 无法识别的哈希算法“%$I”
编译器错误 C3793 算法“%$I”的哈希值长度必须刚好为 %u 个字符
编译器错误 C3794 #pragma file_hash 中指定的文件“%$S”也属于当前编译单元
编译器错误 C3795 文件“%$S”的多个冲突的哈希值
编译器错误 C3796 “operator %$I”: 既不是字符串字面量运算符模板,也不是数字文本运算符模板
编译器错误 C3797 'keyword':事件声明不能带有 override 说明符(应将其置于事件的 add/remove/raise 方法上)
编译器错误 C3798 “keyword”: 属性声明不能具有重写说明符(而应将该说明符放在属性的 get/set 方法上)
编译器错误 C3799 索引属性不能有空的参数列表
编译器错误 C3800 declaration’:不能混合属性和事件
编译器错误 C3801 “attribute”: 属性可能没有参数子句
编译器错误 C3802 已过时。
编译器错误 C3803 property”:该属性的类型与其某个访问器“accessor”不兼容
编译器错误 C3804 'member':属性的访问器方法必须要么全部为静态,要么全部为非静态
编译器错误 C3805 'token':非预期的标记,应为以下之一:'}' 或 ','
编译器错误 C3806 'token':出现意外标记,应为“{”或“成员初始值设定项”之一
编译器错误 C3807 'type': 具有 ComImport 属性的类不能派生自 'type',仅允许实现接口
编译器错误 C3808 type:具有 ComImport 特性的类不能定义成员 member,仅允许使用 abstract 或 dllimport 函数
编译器错误 C3809 'type':托管/WinRT 类型不能具有任何友元函数、类或接口
编译器错误 C3810 “%1$S”: 无法分解具有不确定基类“type_name”的类型
编译器错误 C3811 已过时。
编译器错误 C3812 “__property”必须是属性声明中的第一个标记
编译器错误 C3813 属性声明只能出现在托管/WinRT 类型的定义中
编译器错误 C3814 已过时。
编译器错误 C3815 方法“member”的返回类型必须与 setter 方法的最后一个参数的类型匹配
编译器错误 C3816 “类/结构 member”先前已使用不同的托管/WinRT 修饰符进行声明或定义
编译器错误 C3817 “declaration”: 属性只能应用于函数
编译器错误 C3818 数组属性声明“property”不应重载索引属性“property
编译器错误 C3819 已过时。
编译器错误 C3820 标识符”:初始化表达式必须受管理
编译器错误 C3821 'function':无法在非托管函数中使用托管类型或函数
编译器错误 C3822 已过时。
编译器错误 C3823 已过时。
编译器错误 C3824 “type”: 此类型不能出现在此上下文中(函数参数、返回类型或静态成员)
编译器错误 C3825 type”:托管/WinRT 类只能支持托管/WinRT 事件
编译器错误 C3826 已过时。
编译器错误 C3827 标准属性“deprecated”可以不带参数,也可以带一个用于说明原因的字符串字面量
编译器错误 C3828 无法为“type”类型的“keyword”表达式指定位置参数
编译器错误 C3829 特性 [[属性名称]] 只能应用于函数声明
编译器错误 C3830 “type1”: 无法从“type2”继承,值类型只能从接口类继承
编译器错误 C3831 identifier”: “type”不能具有固定成员数据或返回固定指针的成员函数
编译器错误 C3832 “typelib”: 类型库看上去似乎是为 32 位指针生成的;请更改“ptrsize”限定符
编译器错误 C3833 typeidentifier 的目标类型无效
编译器错误 C3834 非法将显式转换应用于固定用指针;应改用固定的局部变量
编译器错误 C3835 已过时。
编译器错误 C3836 静态构造函数不允许有成员初始值设定项列表
编译器错误 C3837 不可在此上下文中使用属性
编译器错误 C3838 无法从“type”继承
编译器错误 C3839 无法更改托管/WinRT 类型中的对齐方式
编译器错误 C3840 已过时。
编译器错误 C3841 已过时。
编译器错误 C3842 identifier”:托管/WinRT 类型的成员函数不支持使用“const”和“volatile”限定符
编译器错误 C3843 '标识符':不支持在托管/WinRT 类型的成员函数上使用引用限定符
编译器错误 C3844 “identifier”: 无法从“source”导入符号,因为当前范围内已存在“identifier
编译器错误 C3845 已过时。
编译器错误 C3846 “identifier”: 无法从“source”导入符号: 因为“identifier”已从另一个程序集“assembly”导入
编译器错误 C3847 显式实例化中的 noexcept 说明符必须与被实例化模板的 noexcept 说明符一致
编译器错误 C3848 具有类型“type”的表达式会丢失一些 const-volatile 限定符以调用“identifier
编译器错误 C3849 对类型为“type”的表达式进行函数风格调用将导致全部 number 个可用运算符重载的 const 和/或 volatile 限定符丢失
编译器错误 C3850 'token':通用字符名指定了无效字符
编译器错误 C3851 “token”: 通用字符名称不能指定基本字符集中的字符
编译器错误 C3852 member 的类型为“type”:聚合初始化无法初始化该成员
编译器错误 C3853 “=”: 通过函数引用重新初始化引用或进行赋值是非法的
编译器错误 C3854 “=”左侧的表达式求值结果为函数。 无法给函数赋值(函数不是左值)
编译器错误 C3855 “function”: 模板/泛型参数“identifier”与声明不兼容
编译器错误 C3856 “class”: 类不是类模板/泛型
编译器错误 C3857 “template”: 不允许使用多个模板/泛型参数列表
编译器错误 C3858 'identifier': 无法在当前作用域中重新声明
编译器错误 C3859 未能创建 PCH 的虚拟内存
编译器错误 C3860 模板/泛型参数列表(在类模板/泛型名称后面)必须按模板/泛型参数列表中使用的顺序列出参数
编译器错误 C3861 identifier”:找不到标识符
编译器错误 C3862 'function':无法使用 /clr:pure/clr:safe 编译非托管函数
编译器错误 C3863 数组类型“type”不可赋值
编译器错误 C3864 context”:requires 子句与该声明不兼容
编译器错误 C3865 'keyword':只能用于原生成员函数
编译器错误 C3866 析构函数/终结器调用中缺少参数列表
编译器错误 C3867 'function':非标准语法;请使用“&”以创建成员指针
编译器错误 C3868 type:泛型参数“parameter”的约束与声明中的约束不同
编译器错误 C3869 gcnew 约束缺少空参数列表“()”
编译器错误 C3870 parameter”: “__declspec(specifier)”只能应用于积分类型的参数
编译器错误 C3871 '参数': '__declspec(guard(overflow))' 仅支持用于函数的前 64 个参数
编译器错误 C3872 '0xvalue':此字符不允许在标识符中使用
编译器错误 C3873 “0xvalue”: 不允许将此字符作为标识符的第一个字符
编译器错误 C3874 “identifier”的返回类型应为“type1”而不是“type2
编译器错误 C3875 调用非静态成员函数时缺少参数列表
编译器错误 C3876 十六进制浮点文本需要一个指数
编译器错误 C3877 TypeForwardedTo 属性的类型参数无效
编译器错误 C3878 语法错误:在“context”后出现意外的标记“name
编译器错误 C3879 member”:不能作为 initonly 数据成员
编译器错误 C3880 'member':不能是字面量数据成员
编译器错误 C3881 只能从直接基继承构造函数
编译器错误 C3882 “class”: 构造函数已继承自“class
编译器错误 C3883 'member':initonly 静态数据成员必须初始化
编译器错误 C3884 “type”: 无法对未知大小的数组进行值初始化
编译器错误 C3885 'type':无法用空初始化器列表初始化未知大小的数组
编译器错误 C3886 'member':必须初始化字面量数据成员
编译器错误 C3887 'member':字面量数据成员的初始化项必须是常量表达式
编译器错误 C3888 “member”: C++/CLI 不支持与此 literal 数据成员关联的常数表达式
编译器错误 C3889 对类类型“type”的对象的调用:找不到匹配的调用运算符
编译器错误 C3890 'member':不能获取字面量数据成员的地址
编译器错误 C3891 'member':字面量数据成员不能作为左值使用
编译器错误 C3892 'variable':不能对 const 变量赋值
编译器错误 C3893 member”:只能在类“class”的实例构造函数中使用 initonly 数据成员的左值用法
编译器错误 C3894 member”:只有在类“class”的构造函数中,才允许将 initonly 静态数据成员用作左值
编译器错误 C3895 'member':type 数据成员不能为“volatile”
编译器错误 C3896 member”: 不正确的初始化表达式:此字面量数据成员只能使用“nullptr”进行初始化
编译器错误 C3897 已过时。
编译器错误 C3898 member”:类型数据成员只能属于托管类型
编译器错误 C3899 “member”: 不允许在类“class”的某个并行区域中直接使用 initonly 数据成员的左值
编译器错误 C3900 'member':在当前作用域中不允许使用
编译器错误 C3901 函数”:必须具有返回类型“类型
编译器错误 C3902 “function”: 最后一个参数的类型必须是“type
编译器错误 C3903 属性”:没有 setter 或 getter 方法
编译器错误 C3904 属性”:必须指定 个数 个参数
编译器错误 C3905 不支持对内建类型“type”进行非对齐访问
编译器错误 C3906 对于 vararg 或无原型函数,内建类型 'type' 不是受支持的返回类型或参数类型
编译器错误 C3907 无法跳转到位于不同”if constexpr”语句或子语句中的标签
编译器错误 C3908 访问级别比“identifier”更宽松
编译器错误 C3909 托管/WinRT 事件声明必须位于托管/WinRT 类型中
编译器错误 C3910 'event':必须定义成员 'member'
编译器错误 C3911 'member': 函数必须具有类型 'type'
编译器错误 C3912 'event':事件的类型必须是委托类型
编译器错误 C3913 必须为默认属性编制索引
编译器错误 C3914 默认属性不能是静态的
编译器错误 C3915 “identifier”没有默认索引属性(类索引器)
编译器错误 C3916 索引为 %d 的函数参数与 %d 请求的对齐方式不相符
编译器错误 C3917 “token”: construct 声明样式已过时(你是否想改用“[' ']”?)
编译器错误 C3918 该用法要求“identifier”是数据成员
编译器错误 C3919 函数”:函数必须具有“返回类型 (类型)”类型
编译器错误 C3920 operator”:无法定义后缀递增/递减 CLR/WinRT 运算符。调用后缀 CLR/WinRT 运算符时,将调用相应的前缀 CLR/WinRT 运算符(op_Increment/op_Decrement),但采用后缀语义
编译器错误 C3921 已过时。
编译器错误 C3922 name”: 参数必须是常量表达式
编译器错误 C3923 “member”: 不允许在托管/WinRT 类的成员函数中使用局部类、结构或联合定义
编译器错误 C3924 委托构造函数调用“constructor”的参数 #number 中出错:
编译器错误 C3925 在“directive_name”指令后应有一个循环(forwhiledo
编译器错误 C3926 'parallel' 指令中的常量无效
编译器错误 C3927 '->': 非函数声明符后不允许使用尾随返回类型
编译器错误 C3928 “->”:带圆括号的声明符后面不允许使用尾随返回类型
编译器错误 C3929 指定了“collapse(count)”,但在“#pragma omp for”之后只发现了 value 个循环
编译器错误 C3930 “function”: 没有任何重载函数具有与环境上下文“context”兼容的限制说明符
编译器错误 C3931 'type':无法调用其限定说明符与外围上下文不兼容的函数
编译器错误 C3932 已过时。
编译器错误 C3933 class:析构函数的限制说明符必须涵盖所有构造函数限制的并集
编译器错误 C3934 使用任意“main”格式的函数不能包含除 restrict(cpu) 以外的限制说明符
编译器错误 C3935 标识符:重新定义;重叠的限制说明符
编译器错误 C3936 标识符”:无法识别的限制说明符
编译器错误 C3937 不允许使用空限制说明符
编译器错误 C3938 “identifier”: 外部“C”函数不支持多个限制说明符
编译器错误 C3939 “identifier”: 不允许使用成员函数指针、函数指针和引用带“amp”限制说明符的函数
编译器错误 C3940 “identifier”: 找不到标识符 - 编译器和库的版本可能不匹配。 请确保 vccorlib.h/.lib、vccorlib120.dll 和 c1xx.dll 匹配
编译器错误 C3941 “condition”: 需要“/clr”命令行选项
编译器错误 C3942 '#pragma omp atomic capture':位于 '=' 右侧的表达式必须是标量类型的左值表达式
编译器错误 C3943 “”#pragma omp atomic:运算符“operator”重载;仅允许内置运算符
编译器错误 C3944 '#pragma omp atomic':要求“operator”的左操作数为左值表达式
编译器错误 C3945 type”:无法引发或捕获未派生自 Platform::Exception 的 winrt 对象
编译器错误 C3946 'type':typeid 不能用于此类型
编译器错误 C3947 `typeid`:typeid 不能用于包扩展
编译器错误 C3948 “keyword”: 包扩展不能出现在此上下文中
编译器错误 C3949 包扩展“...”不能出现在带圆括号的抽象声明符中
编译器错误 C3950 已过时。
编译器错误 C3951 不能在投影 WinRT 类型“type”中使用成员指针。 改用委托。
编译器错误 C3952 'type':WinRT 不支持 'in/out' 数组。 请在公共 API 上对“in”使用“const Array<T>^”,对“out”使用“WriteOnlyArray<T>”或“Array<T>^*”
编译器错误 C3953 无法在 WinRT 模块中使用托管类 'type'。 (在 Visual Studio 2022 中已过时。)
编译器错误 C3954 “type”: 从 WinRT 类型的发布方法中返回的数组必须使用“Array<T>^”的形式
编译器错误 C3955 'type':公共构造函数不能包含“out”参数或“WriteOnlyArray<T>”
编译器错误 C3956 “type”: 类型标记为供“type”独占使用,不能用作“derived_type”的基础
编译器错误 C3957 'type':不能对 WinRT 类型使用 'new';请改用 'ref new'
编译器错误 C3958 'type':不能对 WinRT 类型使用 'gcnew';请改用 'ref new'
编译器错误 C3959 “ref new”只能用于创建 WinRT 类型的对象
编译器错误 C3960 已过时。
编译器错误 C3961 不支持静态构造函数
编译器错误 C3962 不支持泛型类
编译器错误 C3963 不支持多维数组
编译器错误 C3964 不支持交错数组
编译器错误 C3965 不支持参数数组
编译器错误 C3966 “function”: 不支持泛型函数
编译器错误 C3967 从模块“module”导入“identifier”时出错
编译器错误 C3968 标记“token”不可用作模块名称分隔符;请改用句号(“.”)
编译器错误 C3969 不一致的模块名称:“module1”和“module1
编译器错误 C3970 identifier”: “keyword”仅可应用于全局范围或命名空间范围内的“ref class”或“ref struct”
编译器错误 C3971 'type':部分定义不能出现在完整定义之后
编译器错误 C3972 type”:“partial”只能应用于类声明或定义
编译器错误 C3973 未实现的功能: %$M
编译器错误 C3974 “%$S”: OpenMP“for”语句中的索引变量必须包含整型
编译器错误 C3975 “类/结构 identifier”之前已使用不同的修饰符声明或定义
编译器错误 C3976 只有将“identifier1”声明为“public”才能使用“identifier2
编译器错误 C3977 该用法需要引用定义了identifier的程序集
编译器错误 C3978 “identifier”: 静态属性不允许作为 WinRT 接口或值类型的成员
编译器错误 C3979 “type”: 使用属性“attribute”而不是“value
编译器错误 C3980 无法将 'type' 写入元数据
编译器错误 C3981 “type”: 值类型不能具有任何静态数据成员“identifier
编译器错误 C3982 “type”: 值类型不能具有任何非公共数据成员“identifier
编译器错误 C3983 “type”: 值类型不能具有任何公共非数据成员“identifier
编译器错误 C3984 “type”: 非值类型不能具有任何公共数据成员“identifier
编译器错误 C3985 'identifier': 公共成员的签名包含私有类型 'member'
编译器错误 C3986 identifier”:公共成员签名中包含本机类型“member
编译器错误 C3987 identifier”:公共成员的签名中包含本机类型“type
编译器错误 C3988 'type':本地类型不能为公共
编译器错误 C3989 “type”: 嵌套类型不能是公共的
编译器错误 C3990 “type”: 属性“attribute”不能是私有或嵌套的
编译器错误 C3991 “type”: 无法实现非公共或嵌套的接口“interface
编译器错误 C3992 'identifier':公共成员的签名包含无效类型“type
编译器错误 C3993 “type”: 值类型必须至少包含一个公共字段
编译器错误 C3994 'type':值类型不能实现接口,也不能拥有虚函数
编译器错误 C3995 “type”: 值类型不能具有任何事件成员“identifier
编译器错误 C3996 已过时。
编译器错误 C3997 Warbird: 消息
编译器错误 C3998 “c++version”: 不受支持的 C++ 版本;默认为“c++version
编译器错误 C3999 应至少有一个参数,但属性[[属性]]实际为零个

另请参阅

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