【发布时间】:2019-10-15 23:57:05
【问题描述】:
这里对 C++ 很陌生,我正在尝试在两个类之间创建双向的一对多关联。
这是我目前取得的成就:
class_a.h
#ifndef CLASS_A_H
#define CLASS_A_H
class ClassB;
class ClassA {
public:
std::vector<ClassB *> Bs;
};
#endif
class_b.h
#ifndef CLASS_B_H
#define CLASS_B_H
class ClassA;
class ClassB {
public:
ClassA *classA;
std::string name;
};
#endif
但是,在测试以下代码时,输出显示test。
b 是否被正确删除?这段代码不应该返回 139 错误吗?
main.cpp
auto *a = new ClassA();
auto *b = new ClassB();
b->classA = a;
b->name = "test";
delete b;
std::cout << b->name << std::endl;
谢谢!
【问题讨论】: