gpt4 book ai didi

c - 在 C89 中通过指针传递结构

转载 作者:行者123 更新时间:2023-12-02 04:17:00 25 4
gpt4 key购买 nike

我正在使用 C89 编译器,但遇到了一些指针输入错误。

调用代码:

struct cpu_state_type cpu_state;
//Stuff here....
foo()
{
print_out_cpu(&cpu_state);
}

Print_out_cpu 在别处定义,H 文件包含在其中。
struct cpu_state_type
{
int r[12];
};
void print_out_cpu(struct cpu_state_type *c);

我得到错误:
error: incompatible type for argument 1 of 'print_out_cpu'
据我所知, &cpu_state返回类型 cpu_state_type* ,所以我很困惑。

最佳答案

你确定原型(prototype)有*在里面?如果我编译( gcc -std=c89 )以下代码,我会得到确切的错误:

  struct cpu_state_type {
int r[12];
};

// note that it is the structure as the param here (not the pointer)
void print_out_cpu(struct cpu_state_type c);
struct cpu_state_type cpu_state;

foo()
{
print_out_cpu(&cpu_state);
}

关于c - 在 C89 中通过指针传递结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2411595/

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