//Generate.h
class CGenerate{
  ...
}//AView.h
#include "Generate.h"class CAView : public CFormView
{
// Implementation
public:
   CGenerate gen;
...}...\aview.h(69) : error C2146: syntax error : missing ';' before identifier 'gen'
...\agaview.h(69) : error C2501: 'CGenerate' : missing storage-class or type specifiers
...\agaview.h(69) : error C2501: 'gen' : missing storage-class or type specifiers不知道什么原因,如何解决?
应该是个很简单的问题,但是小弟初学,不太懂,请各位大哥指教!!

解决方案 »

  1.   

    class CGenerate{
      ...
    }//AView.h
    #include "Generate.h"class CAView : public CFormView
    {
    // Implementation
    public:
       CGenerate gen;
    ...};
    丢了分号了
      

  2.   

    class CGenerate{
      ...
    };
    这一个也丢了
      

  3.   

    不是
    我的类后面都有分号
    而且如果在出错以后,先注释掉CGenerate gen;这一行,然后F7,然后再去掉注释,然后再编译,就不会出现问题,顺利通过
    很奇怪,是不是vc的bug呢
      

  4.   

    无论是什么类型的定义或者声明,都是与简单的数据类型一样的道理int a;//这是简单的数据类型,很明显我们知道加上";"同样道理class a{};//在类的定义后面也应该有“;”类似的还有结构,枚举,联合等
      

  5.   

    我发现只有当Generate.cpp发生改变的时候,才会出现这个问题
    而修改其他类的时候,没有这个问题
    到底是为什么?
      

  6.   

    这么说来请帖全Generate.h的代码,才能帮你判断原因
      

  7.   

    想全部从头来的话,选Build->ReBuild All
      

  8.   

    如果rebuild all的话,一直出错,不知道是什么原因???