要做编译原理的项目,黑框程序弄好了,想加入到mfc中,却总是出现TokenType重定义的错误。这卡了我几天,,,
一开始,我是照着这个做的
未定义
#include "stdafx.h"必须要放在所有引用文件的最前面
#include "########.h"
#include "########.h"
重定义;
1、在出现重定义错误的头文件加上:#ifndef FileName_H_//文件最前面
#define FileName_H_
//内容
#endif //文件末尾
2、在出现重定义错误的头文件加上这一句:#pragma once
3、将重复定义的struct、变量名、常量,提出到一个公共的.h文件中,
然后将原文件中公共部分的struct、变量名、常量屏蔽或删除,同时在头文件中包含公共的.h文件。
原文:https://blog.csdn.net/cqltbe131421/article/details/54946234
后来,都没办法解决,后来想着没有mfc单纯黑框程序没问题,单纯mfc不添加自己的文件也没问题,那问题肯定在两者的冲突了,mfc改不了,那我把自己的TokenType文件名改了Tokentype,本来抱着试试的心态,心想mfc没理由有TokenType跟我的冲突吧,结果https://blog.csdn.net/qq_32563917/article/details/79576942
这样把全局的TokenType改完后,没出错了。。。。感谢lzy同学的指点。。。
记住mfc里面有TokenType的包或者文件名,所以使用mfc时就不要用TokenType命名了