gpt4 book ai didi

c - 错误: incompatible types when initializing type 'int' using type ' '

转载 作者:行者123 更新时间:2023-11-30 17:07:27 24 4
gpt4 key购买 nike

我正在创建一个程序,其中涉及文件中的数据。在其中一个函数中,当我尝试编译它时,在使用类型“datte”初始化类型“int”时,我收到错误不兼容类型

datte、clock 和 games 是结构体。

games create_match(int round, int goals_home_team, int goals_visiting_team, int spectators, char home_team[MAX_TEAM_NAME], char visiting_team[MAX_TEAM_NAME],
datte day,
clocck otim)
{
games result = { round, day, otim, "", "", goals_home_team, goals_visiting_team, spectators };

strcpy(result.home_team, home_team);
strcpy(result.visiting_team, visiting_team);

return result;
}

我的编译器说错误出现在“games result =re...”行。

我有另一个程序的另一个函数,它是相同的,但编译没有问题

kamp、dato 和 klokke 是结构体

kamp lav_kamp(int runde, dato dato, klokke klokke,
char hjemmehold[MAX_HOLD_NAVN], char udehold[MAX_HOLD_NAVN],
int hjemmemaal, int udemaal, int tilskuere)
{
kamp res =
{ runde, dato, klokke, "", "", hjemmemaal, udemaal, tilskuere };
strcpy(res.hjemmehold, hjemmehold);
strcpy(res.udehold, udehold);
return res;
}

所以我不明白的是为什么第一个函数无法编译,但第二个函数可以。

编辑:

3个结构体

typedef struct games
{
int round_of_games,

spectators,

goals_home_team,

goals_visiting_team;

char home_team[MAX_TEAM_NAME],

visiting_team[MAX_TEAM_NAME];

clocck otim;

datte datte;

} games;


typedef struct clocck
{
int tim_hour,

tim_min;

} clocck;


typedef struct datte

{

int odate_day,

odate_year;

enum odate_month

{

January, February, March, April, May, June, July, August, Septemper, October, November, December

} odate_month;

} datte;

最佳答案

问题是您不能以任何顺序初始化结构,您必须按照结构中声明成员字段的确切顺序初始化它。

例如,在您的 games 结构中,您最后声明了 datte 成员,作为第八个成员。这意味着 create_match 函数中的 day 变量必须是初始化中的最后一个变量。

所以而不是例如

games result = { round, day, ... };

你必须写

games result = { round, ..., day };

您还必须确保 result 初始化中的其他值在结构中的顺序正确。

关于c - 错误: incompatible types when initializing type 'int' using type ' ' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34064278/

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