1.XXX....fstream(465): error C2061: 语法错误 : 标识符“_DebugHeapTag”
// ChangeWAVName.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "ChangeWAVName.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
#include <fstream>
// 唯一的应用程序对象
CWinApp theApp;
using namespace std;
void ChangeWAVName( CString SourceDir , CString ResultDir ) ;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
......................................
}
解析:碰到这个问题就有点儿让人不解呀!看关键字"fstream",定义的头文件没有出错啊,而且是在"using namespace std;"之前的呀!无意之下,把头文件顺序改成如下:
#include "stdafx.h"
#include "ChangeWAVName.h"
#include <fstream> //原来是顺序错了!
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
结果错误消除了!细想一下!如果采用前中方式的话,那就在将"#ifdef _DEBUG......"当做头文件中在使用了!这当然会报错啦!
2.error C3861: “getline”: 即使使用参数相关的查找,也未找到标识符
解析:这个问题比较容易发现。看关键字"getline"。"未找到标识符",也就是没找到定义,那固然是因为没有包含有getline()所在的头文件了!加入#include<string> 就OK了!
3.本地函数定义是非法的
解析:好吧!这是我调试程序的时候触发的!
碰到这类问题时,定位问题的所在出,发现那个函数没有任何错误!不解!往上看去,才发现是自己在调试程序时,注释代码的时候,把一个程序块中的一对括号,不小心注释掉了一半,结果就导致了这个问题!OK!Change!