CTermSocket继承CAsyncSocket ,然后我想在CTermSocket::OnConnect函数中调用CTermView(继承与CEditView)中的函数于是我在CTermSocket头文件中加入CTermView *pView;并#include "TermView.h",却出现了这样的错误:
--------------------Configuration: Term - Win32 Debug--------------------
Compiling...
Term.cpp
e:\代码\term\termsocket.h(22) : error C2143: syntax error : missing ';' before '*'
e:\代码\term\termsocket.h(22) : error C2501: 'CTermView' : missing storage-class or type specifiers
e:\代码\term\termsocket.h(22) : error C2501: 'pView' : missing storage-class or type specifiers
TermSocket.cpp
这是怎么回事呀????

解决方案 »

  1.   

    你是不是在CTermView头文件中加入了#include "TermSocket.h" ?
    这应该是一个相互引用的问题, 在你的CTermSocket头文件上面, 即class CTermSocket 上面加上一句class CTermView;试试
      

  2.   

    用指针的话头文件不要包含另一个头文件,声明一个class就行了,在cpp中自己的头文件之前包含那个头文件。
      

  3.   

    因为你只声明了一个指针,编译器不需要知道这个对象要多大地方,他只要准备一个指针的地方就行了,而如果你声明一个对象的话,编译器就要为你准备sizeof(对象)那么大的地方了,所以就需要头文件,从而知道那个对象需要多大地方。简单说就是这样。
      

  4.   

    你是不是在CTermView头文件中加入了#include "TermSocket.h" ?