入力タイプがstruct playerであるプレーゲームで、mainから関数 "play game"を呼び出そうとしています。しかし、私は取得していますエラー:c - structポインタを期待していますが、構造体とその逆を取得しています
reversi.c:47:12: error: incompatible types when assigning to type ‘struct player’ from type ‘struct player *’
*winner = play_game(first , second);
私は」:私はポインタであることに引数の型を切り替えるとエラーで
game.h:18:17: note: expected ‘struct player *’ but argument is of type ‘struct player’
struct player * play_game(struct player * first, struct player * second);
reversi.c:47:4: error: incompatible type for argument 1 of ‘play_game’
*winner = play_game(first , second);
は私が手引数2
のために投げ出されています私はほぼ間違いがあると確信しています: "* winner = play_game(first、second)"という行が含まれていなければならないのに対し、.hファイル自体に関連しています。 ; "
私も、すべてのポインタを変更しようとしましたが、それがうまくいけば、私は失われてしまいますが、同じものにバリエーションを得る以外は得られませんでしたエラー。
投稿のためにコードをトリミングしましたが、それでも同じエラーが発生します。
#include <stdio.h>
#include <stdlib.h>
#define NAMELEN 20
struct player * play_game(struct player * first, struct player * second) ;
enum cell
{
BLANK, RED, BLUE
};
struct player
{
char name[NAMELEN + 1];
enum cell token;
unsigned score;
};
int main(void)
{
struct player first, second, *winner = NULL;
enter code here
*winner = play_game(first , second);
return EXIT_SUCCESS;
}
struct player * play_game(struct player * first, struct player * second)
{
return first;
}
ご協力いただきありがとうございます。
物とポインタの違いを知っていますか? – immibis
@immibis私もそうではないと思います。私はそれらの上に戻って行くつもりです。 – Occlude