gpt4 book ai didi

c++ - 在其构造函数中将对象的指针传递给另一个类

转载 作者:太空狗 更新时间:2023-10-29 22:58:47 24 4
gpt4 key购买 nike

This问题有点相关,但仍然没有解决我的问题。考虑两个类 A 和 B:

class A{
public:
A(int id, B* coordinator);
virtual ~A();
B *coordinator;
}
class B{
public:
B(int id, int param2);
virtual ~B();
run();
}

void b::run(){
while(true){
A(1, this);
A(2, this);
//something else create which may create more A
}
}

int main(int argc, char* argv[]) {
B bObj(atoi(argv[1]), atoi(argv[2]));
}

在 main 函数中,我创建了一个名为 bObj 的 B 类对象。 B 调用 run() 和 B.run() 的构造函数进入无限循环。它在其中创建 A 的多个对象。现在我想传递一个bObj的指针给新创建的A类对象,这样它们就可以访问bObj的其他公共(public)变量和函数。因此,我在从 B 创建 A 的对象时传递了 this 指针。并且我在类 A 中声明了 B* 类型的类变量 coordinator。但我得到了这个:编译器错误 -> ISO C++ 禁止声明没有类型的“B”

请帮我解决这个问题。我是 C++ 的新手。

最佳答案

您是否尝试过 B 类的前向声明?那应该至少可以部分解决您的问题。

关于c++ - 在其构造函数中将对象的指针传递给另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39564348/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com