编译器错误 C2200 - C2299

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

重要

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

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

注意

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

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

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

错误消息

错误 Message
编译器错误 C2200 “function”:函数已被定义
编译器错误 C2201 identifier”:必须具有外部连接才能进行导出/导入
编译器错误 C2202 “function”:不是所有的控件路径都返回值
编译器错误 C2203 删除运算符无法指定数组的边界
编译器错误 C2204 “type”:括号中找到的类型定义
编译器错误 C2205 “identifier”:无法使用块范围初始化外部变量
编译器错误 C2206 “function”:typedef 不能用于函数定义
编译器错误 C2207 “member”:类模板的成员无法获取函数类型
编译器错误 C2208 type: 没有使用此类型定义的成员
编译器错误 C2209 identifier:别名无法用于构造函数声明中
编译器错误 C2210 identifier”:包扩展不能用作别名模板中非打包参数的参数。
编译器错误 C2211 ref 类中使用公共析构函数从 ref 类派生得到的非虚拟解析函数必须也是公共析构函数
编译器错误 C2212 “标识符”:__based 不可用于指向函数的指针
编译器错误 C2213 “标识符”:__based 的非法参数
编译器错误 C2214 基于“void”的指针要求使用:>
Compiler error C2215 “keyword”不能和“/arch:SSE”一起使用
编译器错误 C2216 “keyword1”不能和“keyword2”一起使用
编译器错误 C2217 attribute1” 需要 “attribute2
编译器错误 C2218 “calltype”不能和“/arch:IA32”一起使用
编译器错误 C2219 语法错误:类型限定符必须在“*”之后
编译器错误 C2220 以下警告被视为错误
编译器错误 C2221 已过时。
编译器错误 C2222 意外类型“type”:应为基类或成员
编译器错误 C2223 “->identifier”的左侧必须指向结构/联合
编译器错误 C2224 “.identifier”的左边必须有/结构/联合类型
编译器错误 C2225 已过时。
编译器错误 C2226 语法错误:意外的“type”类型
编译器错误 C2227 "->identifier" 的左侧必须指向类/结构/联合/泛型类型
编译器错误 C2228 “.identifier”的左边必须有类/结构/联合
编译器错误 C2229 类/结构/联合“type”具有非法的零大小数组
编译器错误 C2230 无法找到模块“name
编译器错误 C2231 “.identifier”:左操作数指向“类/结构/共用体”,使用“->”
编译器错误 C2232 “->identifier”:左操作数具有“类/结构/联合”类型,使用“.”
编译器错误 C2233 identifier: 包含零大小数组的对象数组是无效的
编译器错误 C2234 identifier”:引用用数组是非法的
编译器错误 C2235 体系结构 1”和“体系结构 2”编译模块接口的目标架构不匹配
编译器错误 C2236 意外的标记“token”。 你是不是忘了加';'?
编译器错误 C2237 多个模块声明
编译器错误 C2238 “token”前有意外的标记
编译器错误 C2239 function:尝试删除 __declspec(dllexport) 函数
Compiler error C2240 已过时。
编译器错误 C2241 identifier”:成员访问受限制
编译器错误 C2242 typedef 名不能位于类/结构/联合之后
编译器错误 C2243 conversion_type’从‘type1’到‘type2’的转换存在,但无法访问。
编译器错误 C2244 “identifier”:无法将函数定义与现有的声明匹配
编译器错误 C2245 将不存在的成员函数“function”指定为友元)成员函数签名与所有重载都不匹配)
编译器错误 C2246 identifier”:在局部定义的类中为非法的静态数据成员
编译器错误 C2247 “identifier”不可访问,因为“class1”使用“说明符”从“class2”继承
编译器错误 C2248 “identifier”:无法访问类“class”中声明的辅助功能“member”
编译器错误 C2249 “identifier”:虚拟基类“class”中声明的辅助功能“member”没有可访问的路径
编译器错误 C2250 “identifier”:“class::member”的不明确继承
编译器错误 C2251 命名空间“namespace”没有成员“identifier” - 您是指“member”吗?
编译器错误 C2252 模板的显式实例化只能出现在命名空间范围内。
编译器错误 C2253 “function”:纯说明符或抽象重写说明符只允许在虚函数上使用
编译器错误 C2254 “function”:纯说明符或抽象重写说明符不允许在友元函数上使用
编译器错误 C2255 “element”:不允许位于类定义之外
编译器错误 C2256 在“function”上非法使用友元说明符
编译器错误 C2257 “specifier”:结尾返回类型中不允许出现说明符
编译器错误 C2258 非法的纯语法,必须为“= 0”
编译器错误 C2259 “class”:无法实例化抽象类
编译器错误 C2260 “specifier”:无效的 InternalsVisibleToAttribute 友元程序集说明符
编译器错误 C2261 “string”:程序集引用无效且无法解析
编译器错误 C2262 “specifier”:不能为 InternalsVisibleTo 声明指定版本、区域性或处理器体系结构
编译器错误 C2263 模块名称”:无法将翻译单元导入到自身
编译器错误 C2264 “function”:函数定义或声明中有错误;未调用函数
编译器错误 C2265 已过时。
编译器错误 C2266 “identifier”:对非常量绑定数组的引用非法
编译器错误 C2267 “function”:具有块范围的静态函数非法
编译器错误 C2268 “function”是编译器预定义的库帮助程序。 不支持与 /GL 一起使用库助手;编译对象文件 filename 时不要使用 /GL。
编译器错误 C2269 无法创建指向限定函数类型的指针或引用(需要指向成员的指针)
编译器错误 C2270 “function”:非成员函数不允许使用修饰符
编译器错误 C2271 “function”:new/delete 不能有形式表修饰符
编译器错误 C2272 function”:静态成员函数上不允许使用修饰符
编译器错误 C2273 “type”:位于“->”运算符右边时非法
编译器错误 C2274 “type”:位于“.”运算符右边时非法
编译器错误 C2275 type”:应该是表达式而不是类型
编译器错误 C2276 operator”:对绑定成员函数表达式的非法操作
编译器错误 C2277 “function”:无法获取该成员函数的地址
编译器错误 C2278 token”:意外的标记 格式为“__has_cpp_attribute( identifier )
编译器错误 C2279 异常规范不能出现在 typedef 声明中
编译器错误 C2280 class::function:尝试引用已删除的函数
编译器错误 C2281 “class::function”:只能在第一个声明中删除函数
编译器错误 C2282 “function1”不能重写“function2”
编译器错误 C2283 标识符”:不允许对未命名结构使用纯说明符或抽象重写说明符
编译器错误 C2284 “function”:内部函数的非法自变量,参数“number”
编译器错误 C2285 指向成员表示形式的指针已确定 - 忽略 pragma
编译器错误 C2286 指向“identifier”表示形式的成员的指针已设置为“inheritance” - 声明已忽略
编译器错误 C2287 “identifier”:继承表示形式:“inheritiance”比所需的“inheritance”更常规
编译器错误 C2288 预处理数字“数字”不是有效的整数或浮动文本
编译器错误 C2289 多次使用同一类型限定符
编译器错误 C2290 忽略 C++“asm”语法。 使用__asm。
编译器错误 C2291 无法导出匿名命名空间。
编译器错误 C2292 标识符”:最佳继承表示形式:已声明“继承1”,但需要“继承2
编译器错误 C2293 “identifier”:使成员变量作为 __based 说明符非法
编译器错误 C2294 无法导出符号“identifier”,因为它具有内部链接
编译器错误 C2295 转义的“character”:在宏定义中非法
编译器错误 C2296 “operator”:非法,左操作数包含“type”类型
编译器错误 C2297 “operator”:非法,右操作数包含“type”类型
编译器错误 C2298 缺少对成员函数绑定指针的调用
编译器错误 C2299 function”:行为变化: 显式专用化不能是复制构造函数或复制赋值运算符

另请参阅

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