我仍在学习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/