我仍在学习C ++,这里的一些人对我有很大帮助,谢谢大家。

我现在有另一个问题:我有一个从A类派生的B类,如下所示:

B类

#ifndef CLASSB
#define CLASSB

#include <cstdlib>
#include <string>
#include <vector>
#include <time.h>

    using namespace std;
    #include "ClassA.h"

    class ClassA;

    class ClassB: public ClassA{

        public:

            ClassB(ClassC* classCinstance, int gnr, int type) : ClassA(classCinstance);
    };

    #endif


ClassB.cpp

#include "ClassB.h"

ClassB::ClassB(ClassC* classCinstance, int gnr, int type) : ClassA(classCinstance){
    //Some stuff
}


问题是,当我编译时,它说:


  错误C2969:语法错误:';' :预期的成员函数定义
  以'}'结尾


而且Visual Express告诉我:


  错误:预期为“ {”


当我将光标指向ClassB.h中的分号精加工线18(ClassB的构造函数的声明)时。

我该如何解决?我声明了此构造函数,使其存在...并且在.cpp中声明了其主体,所以...一切都很好,对吧?

最佳答案

ClassB构造函数声明错误:

ClassB(ClassC* classCinstance, int gnr, int type) : ClassA(classCinstance);


一定是

ClassB(ClassC* classCinstance, int gnr, int type);

关于c++ - 子类构造函数-预期为'{',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9018706/

10-09 06:38
查看更多