Hasakiya 2021-03-25 15:09 采纳率: 60%
浏览 73
已结题

对一个std::array使用指针报错

我这样写会报错,为什么呀,请教一下

#include <iostream>
#include <array>

int main() 
{
  std::array<double, 3>* ptr_ts;
  ptr_ts->at(0) = 1.0;
  std::cout<<ptr_ts->at(0)<<std::endl;

  return 0;
}

  • 写回答

4条回答 默认 最新

  • qiao_xl 2021-03-25 16:21
    关注
    1. 如楼上所说,你把ptr_ts定义成指针,就得动态分配内存,new或者malloc,否则就是一个指向无意义地址的指针。
    2. 程序结束前需要手动释放内存,delete或者free。
    3. 如果不想这么麻烦,就不用定义成指针变量。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 已采纳回答 10月19日