遇到错误error C2146。
转自http://blog.sina.com.cn/s/blog_52dcf4f901009b3x.html?retcode=0
今天下午编辑一个C++程序,碰到了这两个错误。
error C2146: syntax error : missing ';' before identifier 'm_listenSockets'
上网查了一下这两个错误,发现很多人都遇到过这样的问题,但是没有一个合适的方法来解决。下午借鉴了别人的一些方法,同时自己也“胡乱捣腾”了一阵,问题算是解决了。
首先,找到两个头文件:一个是发生上述两个错误的头文件,在我自己的工程是MyQQServerDlg.h,另一个是定义了CListenSocket类的头文件:ListenSockt.h。
查看这个两个头文件有没有互相引用,换句话说,就是查看在MyQQServerDlg.h里有没有这样一句话,#include "ListenSockt.h",同理,也要查看ListenSockt.h里有没有#include "MyQQServerDlg.h",。要是有的话,先注释掉#include "MyQQServerDlg.h"。
而后在ListenSockt.h里面写入class MyQQServerDlg;问题就解决了