所以,我的问题是如何修复头文件中的一些错误,正常运行程序?例如,我使用c ++ builder 2010,当包含winuser.h文件时,程序总是会出现这样的错误
检查项目依赖关系...... 编译Project7.cbproj(Debug 配置)[BCC32错误] winuser.h(47):E2257,预计满 解析器上下文 File6.cpp(4):#include c:\ program files(x86)\ embarcadero \ rad studio \ 7.0 \ include \ winuser.h [BCC32 错误] winuser.h(48):E2257,预计 完整的解析器上下文
我尝试用默认安装中的原始文件替换该文件,但仍然会出现相同的错误,如何修复?
答案 0 :(得分:4)
错误几乎肯定是由File6.cpp第4行之前出现的任何代码引起的。很可能是另一个头文件,在这种情况下,其中的代码很可能是格式错误的 - 例如缺少分号或括号。
验证winuser.h不是问题的最快方法是更改包含顺序,以便首先包含winuser.h。
另一种可能性是winuser.h中的某些东西依赖于之前未包含或直接包含在winuser.h中的其他标题。 windows.h包含了大多数Win32 API头文件,通常建议使用windows,而不是its children中的任何一个。
答案 1 :(得分:2)
该消息难以阅读但实际错误为“E2257,预期”(昏迷预期)
来自RAD工作室文档:
A comma was expected in a list of declarations, initializations, or parameters.
This problem is often caused by a missing syntax element earlier in the file
or one of its included headers.
错误消息为您提供了它发生的位置,您应该在此之前查看。可能有一些'}',')'或';'或者在错误发生之前代码中缺少其他语法错误(可能在代码中包含头文件之前)。完整的错误消息(您将其截断)或实际代码可以更容易发现。
即使不太可能,错误也可能在winuser.h
中包含的一个标题中。