gpt4 book ai didi

c++ - 创建哈希表来存储某个指针的值

转载 作者:行者123 更新时间:2023-11-30 20:00:20 25 4
gpt4 key购买 nike

我想创建哈希表来存储指针(即某个节点的内存位置)。

为此,我创建了一个 double 数据类型的数组(因为 double 和指针在我的系统上具有相同的大小)。我将地址存储到数组的元素中。但它给了我错误。

代码:

struct node* temp = head;
int k = 0;
while (temp->next)
{
addresses[k++] = (double)temp; // error is here.
temp = temp->next;
}

这是错误:

addresses[k++] = (double)temp;

我认为类型转换应该是问题所在。错误消息是:在需要浮点值的地方使用了指针值

同样,当我获取数组元素并将其存储在指向节点的指针中时,会出现错误。

那么,我应该如何创建哈希表来存储指针呢?

最佳答案

您不必对指针进行类型转换。只需将“地址”设置为指向节点结构的指针数组即可。代码如下:

struct node* addresses[some_size];
struct node* temp = head;
int k = 0;
while (temp->next)
{
addresses[k++] = temp; //no typecasting
temp = temp->next;
}

关于c++ - 创建哈希表来存储某个指针的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45415680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com