error C2061: 语法错误 : 标识符“_DebugHeapTag”

来源:互联网 发布:单片机毕业设计课题 编辑:程序博客网 时间:2024/05/28 16:25

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!

原创粉丝点击