c++ - 初始化一个 **Array 以及标题中实际需要的内容,以便它通过

标签 c++ c arrays pointers

我想要使用的函数需要输入 float ** 数组。

如何将其初始化为 2x2 数组?

仅使用 float[2][2] = {{0,100},{0,200}} 显然不起作用。

我也尝试过

float** ranges = new float*[2];
ranges[0] = {0,100};
ranges[1] = {0,200};

最佳答案

float** ranges = new float*[2];
ranges[0] = {0,100};
ranges[1] = {0,200};

从以下时间开始不起作用:

  1. RHS 是一个初始化列表,不能分配给指针。
  2. range[0]range[1] 是需要首先分配内存的指针。然后,您可以为各个元素分配值。

您可以使用:

ranges[0] = new float[2]{0,100};
ranges[1] = new float[2]{0,200};

ranges[0] = new float[2];
ranges[0][0] = 0;
ranges[0][1] = 100;
ranges[1] = new float[2];
ranges[1][0] = 0;
ranges[1][1] = 200;

当然,请确保添加代码来删除它们。

关于c++ - 初始化一个 **Array 以及标题中实际需要的内容,以便它通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33784529/

相关文章:

c - 这个 RPC xdr 副本有意义吗?

c - 在 C 语言中取消引用指向指针等的指针

javascript - TypeError : result. 推送不起作用

c++ - 部分模板特化有什么问题?

c++ - LLVMContext 作为类成员会破坏构造函数吗?

C 多结构体只有一个节点

java - for 循环缺少 return 语句

c++ - 从序列中解析 NMEA 句子

c++ - 无法打开输出文件 ___.exe : Permission denied

java - Codility 中的 TapeEquilibrium 问题