構造体が異なるファイルで定義されている場合、構造体を適切に機能させるのに少し苦労しています。私が知る限り、エラーは構造体が2回定義されていることを示しています。おそらくどこかで extern を使用する必要があると思いますか? 私は実験を試み、Google でヘルプを探しましたが、役に立ちませんでした。
どんな助けでも大歓迎です、ありがとう。私の4つのファイルはすべて以下にあります。
ファイル: Foo.h
typedef struct
{
int number;
} my_struct; // Redefinition; different basic types
ファイル: Foo.c
#include "Foo.h"
#include "Bar.h"
#include <stdio.h>
my_struct test;
int main(void)
{
test.number = 0;
DoSomething(&test);
printf("Number is: ", &test.number);
}
ファイル: Bar.h
#include "Foo.h"
void DoSomething(my_struct *number);
ファイル: Bar.c
#include "Bar.h"
void DoSomething(my_struct *number)
{
number->number = 10;
}