VS2010 使用中遇到的一点小问题


今天在VS2010中使用 #include < fstream.h > ,会出现下面的错误提示:

fatal error C1083: Cannot open include file: 'fstream.h': No such file or directory

之后我 Google 了一下,据说是因为 fstream.h 是比较旧的标准,必须改用标准的 c++ 写法才行。

后来找到了解决的办法,就是把

#include <fstream.h>

改成了

#include <fstream>using namespace std;

注:

#include <fstream>
#include <cstring>
#include <string>

using namespace std

这是标准的 c++ 写法

---------------------------------华丽的分割线-----------------------------

error C2143: syntax error : missing ';' before '*.... 报错
error C2143: syntax error : missing ';' before '*....
error C2501: 'CMyDoc' : missing storage-class or type specifiers  
error C2501: 'GetDocument' : missing storage-class or type specifiers

在任何cpp文件的开头都按这样的顺序Include:

#include "XXXDoc.h" 
#include "XXXView.h"  
#include "MainFrm.h"

注意,Doc 的头文件一定要在最前面。这样你的 CDemoView 和 CMyView 也可以共享一个 CDemoDoc。

一般在 c++ 中包含文件是要注意类的包含关系,被包含的类定义应该在前面。如果实在有冲突,可以在一个类的头文件中加 :class CXXXDoc;之类的空定义。这样定义过的头文件中可以用 CXXXDoc 申明指针,但是不能申明实际对象。