如何将结构体传递给 yacc 文件中的函数?
我的 yacc 文件中有这个。
var_declaration : type_specifier ID ';' {$2->args = ""; $2->value = 0; $2->arraysize = 0; $2->type = "variable";}
上面的一切都有效。
我想将这个添加到其中。
fn($2);
从函数内部,我想做这样的事情。
fn(struct symtab sp)
{
sp->value = 0;
}
但是当我尝试编译该程序时,出现以下错误:
错误:“->”的类型参数无效 (有“struct symtab”)
I have this in my yacc file.
var_declaration : type_specifier ID ';' {$2->args = ""; $2->value = 0; $2->arraysize = 0; $2->type = "variable";}
Everything above works.
I want to add this to it.
fn($2);
From inside the function, I want to do stuff like this.
fn(struct symtab sp)
{
sp->value = 0;
}
But when I try to compile the program I get this error:
error: invalid type argument of ‘->’
(have ‘struct symtab')
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我想你的函数应该是
而不是
and 顺便说一句,因为 $2 是一个 联合 我认为这
是不正确的。
并且
无效。
I guess your function should be
instead of
and by the way, as $2 is a union I don't think that
is correct.
And
is not valid.