gpt4 book ai didi

c - 下面的类型转换 c 代码有什么问题

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

我有这个代码

if (hashtable_count(h) > 0)
{
do {
kk = (key*)hashtable_iterator_key(itr);
v =(value*) hashtable_iterator_value(itr);
....

键和值都在与

相同的代码块中声明
 struct key *k, *kk;
struct value *v;

并且 VC 2010 报告以下错误

错误 C2065:“key”:未声明的标识符

错误 C2059:语法错误:')'

错误 C2065:“值”:未声明的标识符

错误 C2059:语法错误:')'

错误是针对两个赋值行的。第两个错误是针对第一个赋值语句,第二个错误是针对最后一个赋值语句。

如有必要,我很乐意提供更多详细信息。

更多信息:这是两个函数

 void * hashtable_iterator_key(struct hashtable_itr *i)
{ return i->e->k; }

void * hashtable_iterator_value(struct hashtable_itr *i)
{ return i->e->v; }

如果我不将返回值类型转换为 key*,则会报告类型不匹配错误

最佳答案

(key*) 在你的 Actor 应该是 (struct key*)

您尚未创建类型“key”。

即你还没有做:

typedef struct
{
<some defines>
} key;

然后 (key*) 就可以了。

关于c - 下面的类型转换 c 代码有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8895363/

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