gpt4 book ai didi

c - 从类型 ‘memstruct’ 分配给类型 ‘int’ 时的类型不兼容

转载 作者:太空宇宙 更新时间:2023-11-04 05:17:31 25 4
gpt4 key购买 nike

我在 C 中为以下行收到错误“在从类型‘int’分配给类型‘memstruct’时类型不兼容”:

result1 = getValueFromBind(interpret(t->ptr1));.

result1和function的声明如下:

memstruct result1;
memstruct getValueFromBind(memstruct bind);

另外,memstruct函数定义如下: typedef union 常量 { 整数间隔; 字符* strval; }持续的; typedef 结构内存结构{ 整数类型; 常数值; }内存结构;

编辑:getValueFromBind 函数在简单检查后返回 bind 或 NULL。 解释返回一个内存结构。此外,错误显示在 C 中的分配中。

以下是极简主义的例子(@gsamaras):http://ideone.com/Rb8ZCd

按照dsh的回答,解决了我程序中的错误

最佳答案

您缺少 forward declaration你的函数 getValueFromBind()。在 C 中,由于历史原因,未声明的函数被假定返回类型 int。声明函数的 prototype在使用它之前,编译器将知道正确的返回类型。

关于c - 从类型 ‘memstruct’ 分配给类型 ‘int’ 时的类型不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33302879/

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