编译器错误 C3500 - C3999
此部分提到的文章解释了编译器生成的一部分错误消息。
重要
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 |
---|---|
编译器错误 C3500 | ProgID“progid”无效 |
编译器错误 C3501 | 没有为 ProgID“progid”注册 typelib |
编译器错误 C3502 | 无法获得 ProgID“progid”的 LIBID |
编译器错误 C3503 | 原始字符串字面量中不允许使用字符“0xvalue” |
编译器错误 C3504 | 无法根据字符串“string”创建 GUID |
编译器错误 C3505 | 无法加载类型库“library” |
编译器错误 C3506 | 没有为 LIBID“library”注册 typelib |
编译器错误 C3507 | ProgID 不能有多于 39 个字符的“progid”;也不能包含除“.”外的任何标点;也不能以数字开头 |
编译器错误 C3508 | “type”: 不是有效的自动化类型 |
编译器错误 C3509 | “type”: 无效的自动化返回类型;参数标记为“retval”时,返回类型必须是“void”、“HRESULT”或“SCODE” |
编译器错误 C3510 | 找不到依赖类型库 library_name |
编译器错误 C3511 | “identifier”: 对委托构造函数的调用应仅为成员初始值设定项 |
编译器错误 C3512 | 原始字符串字面量的分隔符序列不得超过 16 个字符 |
编译器错误 C3513 | “string”: 不受支持的原始字符串字面量分隔符 |
编译器错误 C3514 | “character”(value): 不受支持的原始字符串字面量分隔符 |
编译器错误 C3515 | 如果类模板部分专用化的参数是一个包扩展,则它应是最后一个参数 |
编译器错误 C3516 | 处理原始字符串字面量时发现意外的文件尾;分隔符序列“string”不匹配 |
编译器错误 C3517 | “identifier”别名声明不能有包含“auto”的类型 |
编译器错误 C3518 | “identifier”: 在直接列表初始化上下文中,“type”的类型只能从单个初始值设定项表达式推导出来 |
编译器错误 C3519 | “parameter”: 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 | “identifier”: 类型包含“type”的符号必须具有初始值设定项 |
编译器错误 C3532 | 数组的元素类型不能是包含“type”的类型 |
编译器错误 C3533 | 参数不能有包含“type”的类型 |
编译器错误 C3534 | 已过时。 |
编译器错误 C3535 | 无法从“type2”推断“type1”的类型 |
编译器错误 C3536 | “identifier”: 初始化之前无法使用 |
编译器错误 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”的递归调用: 编译以下位置的 concurrency::parallel_for_each 的调用关系图时,检测到递归:“function” |
编译器错误 C3560 | “function”: 编译以下位置的 concurrency::parallel_for_each 的调用关系图时,IL 不可用:“function” |
编译器错误 C3561 | 编译以下位置的 concurrency::parallel_for_each 的调用关系图时,在不是统一平铺的控制流中找到平铺屏障操作:“function” |
编译器错误 C3562 | 内部函数“function”已限制为不能使用 number 个以上的参数 |
编译器错误 C3563 | 编译以下位置的 concurrency::parallel_for_each 的调用关系图时,检测到无限循环:“function” |
编译器错误 C3564 | 编译以下位置的 concurrency::parallel_for_each 的调用关系图时,读取了未初始化的值:“function” |
编译器错误 C3565 | 编译 concurrency::parallel_for_each 的调用关系图时,tile_static 的总内存量(number 字节)超过了限制(number 字节) |
编译器错误 C3566 | 编译以下位置的 concurrency::parallel_for_each 的调用关系图时,具有副作用的块嵌套太深:“function” |
编译器错误 C3567 | 编译以下位置的 concurrency::parallel_for_each 的调用关系图时,检测到被零除或对零求模:“function” |
编译器错误 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 实例数不能超过 number |
编译器错误 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 | tile_static 对“identifier”的用法不受支持 |
编译器错误 C3585 | “identifier”的 amp 限制代码中包含不受支持的存储类 |
编译器错误 C3586 | “identifier”: amp 限制代码中不支持使用全局或静态变量 |
编译器错误 C3587 | amp 限制代码中不支持 dynamic_cast |
编译器错误 C3588 | 在 amp 限制代码中不支持从“type1”强制转换为“type2” |
编译器错误 C3589 | “string”: amp 限制代码中不支持使用字符串字面量 |
编译器错误 C3590 | “token”: 如果 lambda 进行了 amp 限制,则不支持按引用捕获或“this”捕获 |
编译器错误 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 限制代码中,无法对指向布尔值的指针执行指针算术 |
编译器错误 C3600 | “function”: 编译以下位置的非平铺 concurrency::parallel_for_each 的调用关系图时,检测到使用了 tile_static 内存:“function” |
编译器错误 C3601 | “type”: 对 amp 诊断函数“function”来说是无效的参数类型 |
编译器错误 C3602 | 编译以下位置的 concurrency::parallel_for_each 的调用关系图时,检测到不受支持的控制流:“function” |
编译器错误 C3603 | “symbol”: 尚不支持类型“type” |
编译器错误 C3604 | “identifier”: 只能在 gc 堆上创建托管对象 |
编译器错误 C3605 | 编译以下位置的 concurrency::parallel_for_each 的调用关系图时,采样器的总数(number 个已捕获,number 个已预定义)超过了 number:“function” |
编译器错误 C3606 | 无法将内部函数“function”映射到 HLSL |
编译器错误 C3609 | “identifier”:“密封/最终”函数必须是虚拟函数 |
编译器错误 C3610 | “identifier”: 在调用“method”方法之前必须将值类型“装箱” |
编译器错误 C3611 | “identifier”: 密封函数不能具有纯说明符 |
编译器错误 C3612 | “identifier”: 密封类不能具有任何纯虚方法 |
编译器错误 C3613 | “->”后缺少返回类型(假定为“int”) |
编译器错误 C3614 | 同一类中包大小的不同值;先前的值为“value”,新值为“value” |
编译器错误 C3615 | constexpr 函数“function”不能生成常数表达式 |
编译器错误 C3616 | 已过时。 |
编译器错误 C3617 | 结构化绑定的初始值设定项必须是数组或非联合类类型;不允许使用“type_name”类型 |
编译器错误 C3618 | “declaration”: 标记为 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 | 不能将“identifier”定义为托管“class”的成员 |
编译器错误 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 | “function”: 不能编译生成托管代码的函数 |
编译器错误 C3645 | “function”: 不能对编译为本机代码的函数使用 __clrcall |
编译器错误 C3646 | “identifier”: 未知重写说明符 |
编译器错误 C3647 | 已过时。 |
编译器错误 C3648 | 托管类型不支持此显式重写语法 |
编译器错误 C3649 | 不允许对 /ZW 使用此显式重写语法 |
编译器错误 C3650 | “member”: 不能用作显式重写,必须是基类的虚拟成员函数 |
编译器错误 C3651 | “member”: 不能用作显式重写,必须是基类成员 |
编译器错误 C3652 | “member”: 显式重写的函数必须是虚拟函数 |
编译器错误 C3653 | “identifier”: 不能用作命名重写: 找不到要重写的函数;是否忘记了使用 :: 运算符显式命名该函数? |
编译器错误 C3654 | “token”: 显式重写中有语法错误 |
编译器错误 C3655 | “member”: 函数已经显式替代 |
编译器错误 C3656 | “keyword”: 重写说明符不能重复 |
编译器错误 C3657 | 析构函数/终结器不能进行显式重写,也不能被显式重写 |
编译器错误 C3658 | 已过时。 |
编译器错误 C3659 | “member”: 不支持重写说明符“keyword” |
编译器错误 C3660 | “member1”隐藏继承的成员“member2” |
编译器错误 C3661 | 显式重写列表没有发现任何要重写的方法 |
编译器错误 C3662 | “member”: 重写说明符“keyword”只允许在托管/ WinRT 类的成员函数上使用 |
编译器错误 C3663 | 已过时。 |
编译器错误 C3664 | “member”: 不能用作显式重写,必须具有“公共”或“受保护的”可访问性 |
编译器错误 C3665 | “member”: 析构函数/终结器上不允许使用重写说明符“keyword” |
编译器错误 C3666 | “constructor”: 构造函数上不允许使用重写说明符“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 | “function”: 找不到事件接口 |
编译器错误 C3706 | “function”: 必须是 COM 接口才能激发 COM 事件 |
编译器错误 C3707 | “member”: 调度接口方法必须有 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 | “pointer”: 必须是指向“type”的指针 |
编译器错误 C3716 | “%$L”: 不允许生成具有模块构造的预编译标头 |
编译器错误 C3717 | “member”: 不能定义激发事件的方法 |
编译器错误 C3718 | 只能在接收类的成员函数的上下文中调用“__keyword” |
编译器错误 C3719 | “member”: 基于接口的事件源只能用于 COM 事件 |
编译器错误 C3720 | “type”: 只能在双重或者调度接口上实现 IDispatch |
编译器错误 C3721 | “signature”: 事件签名不兼容 |
编译器错误 C3722 | 不允许泛型事件 |
编译器错误 C3723 | “function”: 无法解析事件 |
编译器错误 C3724 | 必须添加 #include <windows.h> 才能对事件使用多线程处理 |
编译器错误 C3725 | 已过时。 |
编译器错误 C3726 | 无法将 SecureHotPatch 转换应用于“%s”。 解释 |
编译器错误 C3727 | “event”: 托管事件必须是成员函数或是指向委托的指针的数据成员 |
编译器错误 C3728 | “event”: 事件没有引发方法 |
编译器错误 C3729 | 属性说明符不能同时包含 using 命名空间前缀和范围属性 |
编译器错误 C3730 | 已过时。 |
编译器错误 C3731 | 事件“event”和处理程序“event_handler”不兼容;事件源和事件处理程序必须有相同的事件类型 |
编译器错误 C3732 | “interface”: 激发 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 | “function”: 只有事件才能被“引发” |
编译器错误 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“class”中的属性 |
编译器错误 C3761 | “function”:“retval ”只能出现在函数的最后一个参数上 |
编译器错误 C3762 | 无法处理属性“attribute” |
编译器错误 C3763 | “type”:“retval ”和“out ”只能出现在数据指针类型上 |
编译器错误 C3764 | “member”: 无法重写基类方法“member” |
编译器错误 C3765 | “event”: 无法在标记为 event_receiver 的类/结构“type”中定义事件 |
编译器错误 C3766 | “type”必须提供接口方法“function”的实现 |
编译器错误 C3767 | “function”: 候选函数不可访问 |
编译器错误 C3768 | 在纯托管代码中不能采用虚拟 vararg 函数的地址 |
编译器错误 C3769 | “identifier”: 嵌套类不能与它的直接封闭类同名 |
编译器错误 C3770 | “type”: 不是有效基类 |
编译器错误 C3771 | “identifier”: 在最近的命名空间范围内找不到友元声明 |
编译器错误 C3772 | “identifier”: 友元模板声明无效 |
编译器错误 C3773 | 请使用 /await 编译器开关启用协同例程 |
编译器错误 C3774 | 找不到“scope::identifier”: 请包括 header_name 标头 |
编译器错误 C3775 | “function”的返回类型不应为“type” |
编译器错误 C3776 | 无法在具有非 void 最终返回类型的协同例程中返回 void 类型的表达式 |
编译器错误 C3777 | “function”: 协同例程无法采用变量参数列表 |
编译器错误 C3778 | alloca: 不可用于协同例程 |
编译器错误 C3779 | “function”: 若要使用将会返回“auto”的函数,必须首先定义此函数 |
编译器错误 C3780 | “function”: 若要使用将会返回“auto”的转换函数,必须首先定义此函数 |
编译器错误 C3781 | “keyword”: 不能在“type”类型的协同例程中使用。 keyword 或 keyword 必须存在于关联的 promise_type 中 |
编译器错误 C3782 | type: 协同例程的承诺不可同时包含 keyword 和 keyword |
编译器错误 C3783 | “identifier”: 不能是协同例程 |
编译器错误 C3784 | keyword 表达式无法在此上下文中显示 |
编译器错误 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”: 事件声明不能具有重写说明符(而应将该说明符放在事件的 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”方法的返回类型必须与资源库的最后一个参数的类型匹配 |
编译器错误 C3816 | “class/struct member”以前是用不同的托管/WinRT 修饰符声明或定义的 |
编译器错误 C3817 | “declaration”: 属性只能应用于函数 |
编译器错误 C3818 | 数组属性声明“property”不应重载索引属性“property” |
编译器错误 C3819 | 已过时。 |
编译器错误 C3820 | “identifier”: 初始值设定项必须是托管的 |
编译器错误 C3821 | “function”: 无法在非托管函数中使用托管类型或函数 |
编译器错误 C3822 | 已过时。 |
编译器错误 C3823 | 已过时。 |
编译器错误 C3824 | “type”: 此类型不能出现在此上下文中(函数参数、返回类型或静态成员) |
编译器错误 C3825 | “type”: 托管/WinRT 类只能支持托管/WinRT 事件 |
编译器错误 C3826 | 已过时。 |
编译器错误 C3827 | 标准属性“deprecated”可能未带参数,或没有描述原因的字符串字面量 |
编译器错误 C3828 | 无法为“type”类型的“keyword”表达式指定位置参数 |
编译器错误 C3829 | 标准属性“noreturn”只能应用于函数 |
编译器错误 C3830 | “type1”: 无法从“type2”继承,值类型只能从接口类继承 |
编译器错误 C3831 | “identifier”:“type”不能有固定的数据成员或返回固定指针的成员函数 |
编译器错误 C3832 | “typelib”: 类型库看上去似乎是为 32 位指针生成的;请更改“ptrsize”限定符 |
编译器错误 C3833 | “type”: identifier 的目标类型无效 |
编译器错误 C3834 | 显式强制转换为固定指针非法;改用固定的局部变量 |
编译器错误 C3835 | 已过时。 |
编译器错误 C3836 | 静态构造函数不允许有成员初始值设定项列表 |
编译器错误 C3837 | 不可在此上下文中使用属性 |
编译器错误 C3838 | 不能从“type”继承 |
编译器错误 C3839 | 无法更改托管/ WinRT 类型中的对齐方式 |
编译器错误 C3840 | 已过时。 |
编译器错误 C3841 | 已过时。 |
编译器错误 C3842 | “identifier”: 不支持在托管/ WinRT 类型的成员函数上使用“const”和“volatile”限定符 |
编译器错误 C3843 | “identifier”: 不支持在托管/ 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 | 已过时。 |
编译器错误 C3865 | “keyword”: 只能用于本机成员函数 |
编译器错误 C3866 | 析构函数/终结器调用缺少参数列表 |
编译器错误 C3867 | “function”:非标准语法;请使用“&”来创建指向成员的指针 |
编译器错误 C3868 | “type”: 泛型参数“parameter”上的约束与声明上的约束不同 |
编译器错误 C3869 | gcnew 约束缺少空参数列表“()” |
编译器错误 C3870 | “parameter”:“__declspec(specifier)”只能应用于整型参数 |
编译器错误 C3871 | “parameter”:“__declspec(guard(overflow))”仅在函数的前 64 个参数上受支持 |
编译器错误 C3872 | “0xvalue”: 标识符中不允许使用此字符 |
编译器错误 C3873 | “0xvalue”: 不允许将此字符作为标识符的第一个字符 |
编译器错误 C3874 | “identifier”的返回类型应为“type1”而不是“type2” |
编译器错误 C3875 | 调用非静态成员函数缺少参数列表 |
编译器错误 C3876 | 十六进制浮点文本需要一个指数 |
编译器错误 C3877 | TypeForwardedTo 属性的类型参数无效 |
编译器错误 C3878 | 语法错误:“%2s”后出现意外标记“%1$L” |
编译器错误 C3879 | “member”: 不能是 initonly 数据成员 |
编译器错误 C3880 | “member”: 不能是 literal 数据成员 |
编译器错误 C3881 | 只能从直接基继承构造函数 |
编译器错误 C3882 | “class”: 构造函数已继承自“class” |
编译器错误 C3883 | “member”: 必须初始化 initonly 静态数据成员 |
编译器错误 C3884 | “type”: 无法对未知大小的数组进行值初始化 |
编译器错误 C3885 | “type”: 无法用空的初始值设定项列表初始化未知大小的数组 |
编译器错误 C3886 | “member”: 必须初始化 literal 数据成员 |
编译器错误 C3887 | “member”: literal 数据成员的初始值设定项必须是常数表达式 |
编译器错误 C3888 | “member”: C++/CLI 不支持与此 literal 数据成员关联的常数表达式 |
编译器错误 C3890 | “member”: 不能采用 literal 数据成员的地址 |
编译器错误 C3891 | “member”: literal 数据成员不能用作左值 |
编译器错误 C3892 | “variable”: 不能给常量变量赋值 |
编译器错误 C3893 | “member”: initonly 数据成员的左值只能在类“class”的实例构造函数中使用 |
编译器错误 C3894 | “member”: initonly 静态数据成员的左值只能在类“class”的类构造函数中使用 |
编译器错误 C3895 | “member”: type 数据成员不能是“volatile” |
编译器错误 C3896 | “member”: 不正确的初始值设定项: 此 literal 数据成员只能使用“nullptr”进行初始化 |
编译器错误 C3897 | 已过时。 |
编译器错误 C3898 | “member”: type 数据成员只能是托管类型的成员 |
编译器错误 C3899 | “member”: 不允许在类“class”的某个并行区域中直接使用 initonly 数据成员的左值 |
编译器错误 C3900 | “member”: 不允许在当前范围内使用 |
编译器错误 C3901 | “function”: 必须具有返回类型“type” |
编译器错误 C3902 | “function”: 最后一个参数的类型必须是“type” |
编译器错误 C3903 | “property”: 没有 set 或 get 方法 |
编译器错误 C3904 | “property”: 必须指定 number 个参数 |
编译器错误 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 | “function”: 函数必须具有类型“return_type (type)” |
编译器错误 C3920 | “operator”: 不能定义后缀增量/减量 CLR/WinRT 运算符。调用后缀 CLR/WinRT 运算符将调用相应的前缀 CLR/WinRT 运算符(op_Increment/op_Decrement),但具有后缀语义 |
编译器错误 C3921 | 已过时。 |
编译器错误 C3923 | “member”: 不允许在托管/WinRT 类的成员函数中使用局部类、结构或联合定义 |
编译器错误 C3924 | 委托构造函数调用“constructor”的参数 #number 中出错: |
编译器错误 C3925 | “directive_name”指令后应有一个循环(for 、while 或 do ) |
编译器错误 C3926 | “parallel”指令中的常量无效 |
编译器错误 C3927 | “->”: 非函数声明符后不允许尾随返回类型 |
编译器错误 C3928 | “->”: 带圆括号的声明符后不允许尾随返回类型 |
编译器错误 C3930 | “function”: 没有任何重载函数具有与环境上下文“context”兼容的限制说明符 |
编译器错误 C3931 | “type”: 无法调用限制说明符与环境上下文不兼容的函数 |
编译器错误 C3932 | 已过时。 |
编译器错误 C3933 | “class”: 析构函数的限制说明符必须涵盖所有构造函数上的限制的联合 |
编译器错误 C3934 | 使用任意“main”格式的函数不能包含除 restrict(cpu) 以外的限制说明符 |
编译器错误 C3935 | “identifier”: 重新定义;与限制说明符重叠 |
编译器错误 C3936 | “identifier”: 无法识别的限制说明符 |
编译器错误 C3937 | 不允许使用空限制说明符 |
编译器错误 C3938 | “identifier”: 外部“C”函数不支持多个限制说明符 |
编译器错误 C3939 | “identifier”: 不允许使用成员函数指针、函数指针和引用带“amp”限制说明符的函数 |
编译器错误 C3940 | “identifier”: 找不到标识符 - 编译器和库的版本可能不匹配。 请确保 vccorlib.h/.lib、vccorlib120.dll 和 c1xx.dll 匹配 |
编译器错误 C3941 | “condition”: 需要“/clr”命令行选项 |
编译器错误 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 | 以前使用不同的修饰符声明或定义了“class/struct 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: message |
编译器错误 C3998 | “c++version”: 不受支持的 C++ 版本;默认为“c++version” |