ERROR C2143怎么出现的?为什么ERROR C2144会这么转移,它是怎么出现的?该怎么解决?

我在网上找到的解决方案是使用预定义,但我用了之后这个错误变成了C2144且标记移动到了前面的的预定义,并只会标记第一个预定义。

img


这个错误怎么解决?

img

img


后面这两个怎么解决?
我的代码没有语法错误

根据提供的截图,您在使用预定义时遇到了一些问题,导致出现C2144错误。解决这个问题的方法如下:

  1. 检查预定义的语法和使用方法是否正确。确保您使用的预定义名称正确,并且在需要使用它的地方进行了正确的引用。预定义通常以#define开始,然后是名称和对应的值。
  2. 确保预定义的定义位置正确。预定义通常位于源代码文件的顶部,放置在任何函数之外。
  3. 检查预定义是否在其作用域之内。如果您在某个作用域(如函数或代码块)内定义了预定义,而您在其他作用域内尝试使用它,就会出现C2144错误。确保预定义在需要使用它的作用域内可见。
  4. 如果问题仍然存在,尝试将预定义放在包含它的源文件的头文件中,并确保正确包含了该头文件。

关于后面两个问题,由于您没有提供具体的错误信息或代码片段,我无法给出明确的解决方法。然而,以下是一些常见的可能性和解决方法:

  • 问题1:如果您的代码中存在语法错误,请仔细检查相关行并确保语法正确。常见的语法错误包括拼写错误、缺少分号、括号不匹配等。
  • 问题2:如果您确定代码没有语法错误,但仍然出现问题,请检查是否存在其他问题,例如链接错误、库文件缺失或依赖关系问题。确保您的环境配置正确,并且所有必要的文件和依赖项都已正确设置。

如果您需要更具体的帮助,请提供相关的错误信息、代码片段或更详细的描述,以便我能够更好地帮助您解决问题。

你可能用的中文输入法下的“;”,将它换为英文输入法,输入”;“试试

或者在项目属性-》C/C++-》预处理器-》预处理器定义中加了宏“WIN32”,

错误很可能在Person.h里,编译器报错的地方时是解释不下去的地方,不一定是你真正写错的地方。

看样子像是.h中出现的问题,把Person.h代码发出来看看。