gpt4 book ai didi

c - 声明类型为 "struct"的原型(prototype) - C

转载 作者:太空狗 更新时间:2023-10-29 17:06:12 26 4
gpt4 key购买 nike

我已经为此绞尽脑汁了一段时间,我只是想创建一个返回结构的方法,因为我希望返回两个 int。

我的方法原型(prototype)如下:

typedef struct RollDice();

还有方法本身:

typedef struct RollDice()
{
diceData diceRoll;

diceRoll.dice1 = 0;
diceRoll.dice2 = 0;

return diceRoll;
}

编译器为原型(prototype)和实际方法显示错误:"Syntax error: ')'"

结构本身:

typedef struct
{
int dice1;
int dice2;
}diceData;

我错在哪里很明显吗?我已经尝试了所有我能想到的方法。

谢谢

编辑/解决方案:

为了让程序使用建议的解决方案,我必须对结构进行以下更改,

typedef struct diceData
{
int dice1;
int dice2;
};

最佳答案

你会想要 typedef struct ... diceData在你的函数之前发生,然后函数的签名将是 diceData RollDice() .

typedef <ORIGTYPE> <NEWALIAS>意味着无论何时 <NEWALIAS>发生,将其视为意味着 <ORIGTYPE> .因此,就您编写的内容而言,您是在告诉编译器 struct RollDice是原始类型(当然,没有定义这样的结构);然后它看到 ()它期待新别名的地方。

关于c - 声明类型为 "struct"的原型(prototype) - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2501591/

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