对一个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;
}

  1. 如楼上所说,你把ptr_ts定义成指针,就得动态分配内存,new或者malloc,否则就是一个指向无意义地址的指针。
  2. 程序结束前需要手动释放内存,delete或者free。
  3. 如果不想这么麻烦,就不用定义成指针变量。

初始化一下ptr_ts

ptr_ts这是个指针,得分配内存

您好,我是问答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~