1

次のように定義された構造体があります。

typedef struct {
    char (*behave) (int*);
} BEHAVIOURSTRUCT;

この構造体は .h ファイルで定義され、.c ファイルに含まれています。グローバル変数があります (MAX_BEHAVIOURS は 3 として定義されています)。

BEHAVIOURSTRUCT bhvr[MAX_BEHAVIOURS];

そして、初期化でこれを割り当てようとしましたが、ここで警告が表示されます:「互換性のないポインター型からの割り当て」

void init() {
bhvr[0].behave = BHVR_line_follow; // here
...
}

私が割り当てようとしている機能

void BHVR_line_follow(int *currstate){
....
}

その音によって、構造体での私の宣言と関数へのポインターは同じビルドからのものではありませんが、私の意見ではそうです。しかし、ほとんどの場合、私は間違っています。

4

1 に答える 1