У меня есть пример кода, как показано ниже
#include <iostream>
#include <memory>
using namespace std;
class A {
public:
int n = 0;
};
class B {
public:
shared_ptr<A> ba;
};
class C {
public:
shared_ptr<A> ca;
shared_ptr<B> cb;
};
int main () {
cout << "Hello\n";
C c;
shared_ptr<A> a(new A);
c.ca = a;
c.cb->ba = a; // MAYBE PROBLEM HERE
return 0;
}
Этот код был успешно скомпилирован, но при запуске он даже не выводит «Hello». Я новичок ie в C ++, а также умный указатель. Пожалуйста, помогите мне объяснить проблему здесь. Заранее спасибо!