很不错,这篇文章解决我的一个类似问题,由于这篇文章的存在,从发现道题到解决问题只花了几分钟,谢谢原文作者了
我的问题主要是在linux的ioctl系统调用命令字的设计中一个命令字无意中与某一个函数名重名了。。。。然后调用过程出现问题
enum ProxyType
{
};
以前上面的代码编译是没问题的,更新代码后,错误提示:
BrType.hpp:632: 错误:expected identifier before numeric constant
BrType.hpp:632: 错误:expected `}' before numeric constant
BrType.hpp:632: 错误:expected unqualified-id before numeric constant
BrType.hpp:633: 错误:expected declaration before ‘}’ token
问题出在: SPEECH_TASK,在另外一个头文件里也有宏定义!而这个文件include了那个头文件,
SPEECH_TASK被替换为相应的常数,所以出了以上的错误提示。
找了两个小时,主要是很难想到是别的文件#define 引起的冲突!
videowidget/mplayervideowidget.h
改为:
编译通过