与预编译头相关的编译器错误C2850。 如何在VS2010 C++ Express中修改编译器错误C250? 我使用VS2010 C++快件在64位PC Runnin 64位Win 7上构建Win32应用程序。 我已经成功开发了许多项目。 我已经在我当前的项目上工作了大约3周,并成功地构建了该应用程序的调试和发布版本(即,它们或多或少地按照需要运行)

与预编译头相关的编译器错误C2850。 如何在VS2010 C++ Express中修改编译器错误C250? 我使用VS2010 C++快件在64位PC Runnin 64位Win 7上构建Win32应用程序。 我已经成功开发了许多项目。 我已经在我当前的项目上工作了大约3周,并成功地构建了该应用程序的调试和发布版本(即,它们或多或少地按照需要运行),c++,visual-studio-2010,C++,Visual Studio 2010,为了缓解明显的内存泄漏问题,我修改了我编写的两个函数,这些函数引用了windows函数DrawText()。我已经在这个项目的其他地方成功地使用了DrawText()和mbstowcs(),所以当我试图编译我的项目中的所有源模块时,我很惊讶地发现以下错误: 错误C2850:“PCH头文件”:仅在文件范围内允许;可能不在嵌套构造中 我查阅了一些C++用户网站,提出了解决方案,结果是空的。p> 到目前为止,我已经尝试了以下以前的治疗方法,并结合使用: (1) 尝试了所有的3种设置 项目 ->性质 -

为了缓解明显的内存泄漏问题,我修改了我编写的两个函数,这些函数引用了windows函数DrawText()。我已经在这个项目的其他地方成功地使用了DrawText()和mbstowcs(),所以当我试图编译我的项目中的所有源模块时,我很惊讶地发现以下错误:

错误C2850:“PCH头文件”:仅在文件范围内允许;可能不在嵌套构造中

我查阅了一些C++用户网站,提出了解决方案,结果是空的。p> 到目前为止,我已经尝试了以下以前的治疗方法,并结合使用:

(1) 尝试了所有的3种设置 项目 ->性质 ->配置属性 ->信用证++ 预编译头 ->预编译头

(2) 从源文件列表中删除了stdafx.cpp

(3) 从除stdafx.h以外的所有包含文件中删除“#pragma once”

(4) 在我所有的代码中验证了 #布拉格语一次 和 #包括“stdafx.h” 仅在包含任一语句的每个文件顶部的全局空间中显示一次

一个网站建议我用一个空项目重新开始,但我还没有尝试过

不用说,在VS2010决定发明这一阻碍我工作效率的最新障碍之前,我从来没有被这些胡说八道搞得一团糟


有人知道如何解决这个问题吗?

如果stdafx.h是您的预编译头,这意味着您只能将它包含在.cpp文件中,而不能包含在其他.h文件中。问题是由于意外删除了DeleteObject()语句,自修复以来。解决了内存泄漏问题。对不起,误报了。以某种方式解决此问题也消除了C2850错误。此线程可以关闭。