我在写一个winsock程序时,当在Dialog类中加入一个Socket类的成员变量后出现错误:
e:\program\talk\talk1\mysocket.h(27) : error C2061: syntax error : identifier 'CTALK1Dlg'
e:\program\talk\talk1\mysocket.h(43) : error C2143: syntax error : missing ';' before '*'
e:\program\talk\talk1\mysocket.h(43) : error C2501: 'CTALK1Dlg' : missing storage-class or type specifiers
e:\program\talk\talk1\mysocket.h(43) : error C2501: 'm_pDlg' : missing storage-class or type specifiers据说是编译顺序问题?求教。
e:\program\talk\talk1\mysocket.h(27) : error C2061: syntax error : identifier 'CTALK1Dlg'
e:\program\talk\talk1\mysocket.h(43) : error C2143: syntax error : missing ';' before '*'
e:\program\talk\talk1\mysocket.h(43) : error C2501: 'CTALK1Dlg' : missing storage-class or type specifiers
e:\program\talk\talk1\mysocket.h(43) : error C2501: 'm_pDlg' : missing storage-class or type specifiers据说是编译顺序问题?求教。
===========class CTALK1Dlg;....CTALK1Dlg *m_pDlg;
class CTALK1Dlg;
如果不行就包含CTALK1Dlg的头文件。
#include "talkdlg.h"
两种声明方法在编译上是有区别的吧?
而include就相当于把头文件嵌入到#include的位置,头文件的一切都可以看到。
另外我认为class要比包含头文件要快,避免了重复包含。