儿童班预计会有'{'

Child class expected a '{'

本文关键字:      更新时间:2023-10-16

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

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

B.h级

#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(ClassB构造函数的声明)中第18行的分号时。

我该如何解决?我声明了这个构造函数,所以它存在。。。我在.cpp中声明了它的身体,所以…一切都很好,对吧?

ClassB构造函数声明错误:

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

必须是

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

头中ClassB构造函数的声明有一个冒号列表,但它不应该这样做。这是定义的一部分。

因此:

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

应为:

ClassB(ClassC* classCinstance, int gnr, int type);
相关文章:
  • 没有找到相关文章