C 代码的运行时错误(基于指针)
runtime error for c++ code (based on pointers)
我正在为以下代码遇到运行时错误:
#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;
}
任何人都可以给我错误的原因吗?
您正在尝试访问非初始化指针的i
成员。
您需要为b
分配内存:
b = new a();
b->i = 1;
a* c= new a(*b);
cout << c->i;
delete b;
delete c;
实时演示
相关文章:
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 如何防止C++遗留代码中的挂起指针
- 理解这行C++指针代码
- 为什么我们不在下面给出的代码中使用指针来实例化C++的实体对象?
- 为什么我的代码在指针方面停止运行?
- 以下与指针相关的代码的输出是什么?
- C++指针问题:如何修复这些代码中的错误?
- 如何使用指针直接从托管代码中的非托管代码中读取矢量数据
- 为什么下面的代码段返回指针指向的值而不是指针的地址?
- 使用指针向量(带代码)C++(以及对其使用的便利性的怀疑)时出现问题
- 为什么从 constexpr 引用生成的程序集代码与从 constexpr 指针生成的程序集代码不同?
- 由于指针算法错误,代码在 memcpy 中崩溃
- 为什么通过定义另一个指针单元格,整个代码停止工作?
- 使用指针编译代码后,.cpp文件将变为随机字符
- OpenCV如何处理Mat作为指针来加速代码
- 我的指针代码 c++ 中的分段错误(核心转储)
- 这两个指针代码有什么区别
- 由于没有明显的原因,请继续在C 的指针代码上遇到错误
- C++:传递和返回指向数组的指针-代码不起作用
- 如何将 Visual Studio 配置为在调试时'skip'智能指针代码?