1)未包含相关头文件,如string
解决方案,添加相关头文件
2) 已包含头文件 ,为何还会报错?
检查是否有头文件stdafx.h,若无则包含进去,若有但不在第一行,则调整至代码首行。

stdafx.h名称的英文全称为:Standard Application Framework Extensions

#include “stdafx.h” 必须是所有的CPP实现文件第一条语句,由系统自动生成。
Microsoft C 和 C++ 编译器提供了用于预编译任何 C 或 C++ 代码(包括内联代码)的选项。利用此性能特性,可以编译稳定的代码体,将已编译状态的代码存储在文件中,以及在随后的编译中,将预编译的代码与仍在开发的代码结合起来。由于不需要重新编译稳定代码,因此后面每次编译的速度都要快一些。
预编译代码有助于在开发周期中缩短编译时间,特别是在以下情况中:
一:总是使用不经常改动的大型代码体。
二:程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。
三: 用于创建预编译头文件的第一次编译所花费的时间比后面的编译稍长一些。通过包含预编译代码可以加快后面的编译速度。C 和 C++ 程序都可以预编译。在 C++ 编程中,常见的做法是将类接口信息分别放到不同的头文件中。此后就可以将这些头文件包含在使用该类的程序中。通过预编译这些头文件,可以缩短程序的编译时间。
VC创建项目时自动创建的预编译头文件,在编译其他文件之前,VC先预编译此文件。头文件stdafx.h引入了项目中需要的一些通用的头文件,比如window.h等,在自己的头文件中包括stdafx.h就包含了那些通用的头文件。
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。
预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。
编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。
因此,所有的CPP实现文件第一条语句都是:#include “stdafx.h”。

#include "stdafx.h"如果不小心删了,就会有第一种错误;

#include “stdafx.h” 如果没有在第一句,就会出现第二种错误。

C++的errorC2039相关推荐

  1. C++的errorC2039和C2679的解决

    菜鸟最近接触C++,遇到了两个问题,记下来解决办法. 这里贴出练习的代码 #include "stdafx.h" //#include <iostream> //#in ...

  2. [VS] errorC2039,xxx不是XXX的成员

    明明是结构体成员,编译器报错说不是. 发现是因为结构体中注释导致的. 使用的是/**/类型的注释,但是注释内容与*/符号之间没有空格,导致编译器不认识. 需要在注释内容与注释符号之间添加空格.

  3. RE2正则表达式库的Windows移植

    RE2库的Windows移植过程如下: 1.从http://code.google.com/p/re2/downloads/list下载最新RE2库(re2-20130802.tgz). 2.解压到当 ...

  4. MFC:将工程从VC6.0工程升级到VS2017所遇到的代码不兼容问题集合

    一.errorC2440:消息相应函数类型不能转化 问题描述 VS2017编译提示以下两个问题: (1)errorC2440 "static_cast": 无法从"UIN ...

最新文章

  1. Tomcat修改端口、添加域名访问
  2. 李开复:职场人35岁以后,真诚比面子重要,均衡比魄力重要!
  3. JS----JavaScript中防抖和节流知识概述
  4. leetcode--数组(Medium1)
  5. 热血上头!程序员想拍桌子离职的1000个瞬间...
  6. Python-Anaconda练习candy算子用于边缘提取,再用hough变换检测直线边缘
  7. Docker实践(五)docker部署MySQL5.7
  8. 搭建前端监控系统(二)JS错误监控篇
  9. Qt之二维绘图:设置动画效果
  10. 分享一款好看的城市选择器
  11. 【原创】从罗胖子关于开会的议题说开去
  12. 简述 Java 垃圾回收机制
  13. 2048游戏简单实现
  14. android 增大日志缓存
  15. 计算机绿屏如何解决,电脑开机绿屏怎么解决_win10电脑开机就绿屏的解决方法
  16. 保融笔试题目及其答案解析
  17. [Codeforces] #603 (Div. 2) A-E题解
  18. 华大单片机HC32L130J6TA入坑全纪录(一)
  19. 炸掉你的城堡!(pygame獾兔大战)
  20. 网上看到的一个好文章,自勉

热门文章

  1. 兔子吃狼 引发的人力资源故事
  2. GEE学习:查询遥感影像空间分辨率
  3. 最容易理解的SVM算法原理
  4. 【海子诗全编】序及后记
  5. vscode运行cpp文件:检测到 #include 错误。请更新 includePath。已为此翻译单元(E:\C++ Code\test1\test1\test1.cpp)禁用波形曲线。
  6. 使用物价水平修正票房数据,长津湖还是票房冠军吗?
  7. Revit二次开发2、RevitAPI、RevitAPIUI及Revit开发三大利器
  8. 中兴网关(光猫)DNS故障的解决
  9. 【转】Java程序性能优化
  10. python培训免费视频