我从CEdit派生了个类:CMyEdit,从CListView派生了给类CMyListView,在CMyListView定义了一个CMyEditd指针:
protected:
EditStruct *m_pEditStruct;
CMyEdit  *m_edit;
我明明包含了头问件#include "MyEdit.h",但是还出现以下错误:
c:\documents and settings\administrator.046ae352fe4b488\桌面\databasefordata\mylistview.h(51) : error C2143: syntax error : missing ';' before '*'
c:\documents and settings\administrator.046ae352fe4b488\桌面\databasefordata\mylistview.h(51) : error C2501: 'CMyEdit' : missing storage-class or type specifiers
c:\documents and settings\administrator.046ae352fe4b488\桌面\databasefordata\mylistview.h(51) : error C2501: 'm_edit' : missing storage-class or type specifiers
不明白.谢谢回复!

解决方案 »

  1.   

    可能是你其他地方出错,导致编译没有执行到#include "MyEdit.h"。
      

  2.   

    #include "MyEdit.h"不要放在#include "stdAfx.h"前面。该语句前面的会被忽略掉。
      

  3.   

    你在什么地方包含的头文件?
    是不是在mylistview.h中?编译器在编译mylistview.h文件的时候,没有看到你的头文件。检查一下包含顺序。
      

  4.   

    可能重复包含,或其它包含错误
    试试把包含#include "MyEdit.h"这句去掉
    加一下声明Class MyEdit;
      

  5.   

    你是不是在其他地方#include "MyEdit.h"过。你的MyEdit.h有没有使用
    #if !defined XXXXX
    #define XXXX
    #endif
    的格式。
      

  6.   

    那你CMyEdit是不是也包含#include "MyListView.h"了
      

  7.   


    可能是你把#include "MyEdit.h"放在#include "stdAfx.h"之前了
    stdAfx.h是预编译处理,之后的头文件默认已编译
    一般stdAfx.h放在开头
      

  8.   

    这不是头文件的问题
    是你在.cpp里边丢大括号了,仔细检查一下