小编Ron*_*ges的帖子

C++错误编译,因为私有成员

我的主要班级Task有私人会员:

private:
    Task();
Run Code Online (Sandbox Code Playgroud)

我添加了一个Scheduler带有类的herance的派生类Task:

class Scheduler : public Task {
    friend class Task;`
Run Code Online (Sandbox Code Playgroud)

我创建了一个文件Scheduler.cc来实现类派生的构造函数Scheduler:

Scheduler::Scheduler() {
    //nothing here.
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用构造函数编译为Scheduler空,但我收到一个编译错误,我不理解该关系,因为我的构造函数Scheduler是空白的:

/tmp/PROJETO/T1/booos-t1/lib/Task.h: In constructor ‘BOOOS::Scheduler::Scheduler()’: /tmp/PROJETO/T1/booos-t1/lib/Task.h:41:2: error: ‘BOOOS::Task::Task()’ is private Scheduler.cc:13:22: error: within this context make[1]: ** [Scheduler.o] Erro 1

我想了解我的问题,因为我不想在我的Scheduler构造函数中访问类Task的私有成员.

c++ scheduler

4
推荐指数
1
解决办法
98
查看次数

标签 统计

c++ ×1

scheduler ×1