我收到以下代码的运行时错误:
#include <iostream>
using namespace std;
struct a
{
int i;
}*b;
int main() {
b->i = 1;
a* c = new a(*b);
cout << c->i;
return 0;
}
有人能告诉我错误的原因吗?
答案 0 :(得分:1)
您正在尝试访问未初始化指针的i
成员。
您需要为b
分配内存:
b = new a();
b->i = 1;
a* c= new a(*b);
cout << c->i;
delete b;
delete c;