【问题标题】:Setting 2D array as hash value in map C++在地图 C++ 中将二维数组设置为哈希值
【发布时间】:2017-10-06 04:14:24
【问题描述】:

我对地图的定义如下:

map<vector<int>, double[][2] > my_dicts;

我有一个二维数组名 dictpreComputation 和一个名为 homo 的 int 向量,声明如下:

double dictpreComputation[newtable.size()][2] = {0.0};
vector<int> homo;

当我尝试将 my_dicts 初始化为:

my_dicts[homo] = dictpreComputation;

它给出了错误:无效使用未指定边界的数组。谁能说出什么是错的以及执行此操作的正确方法是什么?

【问题讨论】:

  • 这个double dictpreComputation[newtable.size()][2] = {0.0}; 仅因 GCC 扩展而编译。这不是标准的 C++。

标签: c++ arrays vector hash hashmap


【解决方案1】:

您不能复制数组。也许分别分配每个单元格。

例如,如果值是一维数组:

 my_dicts[homo][0] = 0;

【讨论】:

    猜你喜欢
    • 2016-05-08
    • 2014-10-11
    • 1970-01-01
    • 2021-02-05
    • 2011-01-16
    • 2017-11-22
    • 2021-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多