gpt4 book ai didi

c++ - 如何将此 C 代码行转换为等效的 C++ 代码?

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

这是我的结构:

struct HashTable{
int tsize;
int count; //No. of elements in table
struct HashTableNode **Table;
};

这就是我正在尝试做的事情:

struct HashTable *h=(struct HashTable *)malloc(sizeof(struct HashTable));
if(!h) return NULL;
h->tsize=size/LOAD_FACTOR;
h->count=0;
h->Table=(struct HashTableNode**)malloc(sizeof(HashTableNode *)*h->tsize);//this line

我无法使用 new 运算符将最后一行转换为其等效的 C++ 版本

解决了

我将代码更改为:

h->Table=new HashTableNode*[h->tsize];
for(int i=0;i<h->tsize;i++)
h->Table[i]=new HashTableNode;

我自己做了一些调试,瞧。解决了。

谢谢大家。

最佳答案

显然,我同意您问题下的大部分评论,但如果您确实需要在代码中使用指针,那么您的问题的解决方案可能如下所示。

使用 typedef 说明符定义类型:

typedef HashTableNode* PHashTableNode;

然后:

h->Table=new PHashTableNode[h->tsize];

关于c++ - 如何将此 C 代码行转换为等效的 C++ 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39876750/

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