Neudefinition; unterschiedliche Basistypen (typedef struct)

Bin ich ein bisschen Mühe zu versuchen, um Strukturen, um richtig zu arbeiten, wenn Sie definiert sind, in verschiedenen Dateien. Aus soweit ich das beurteilen kann, der Fehler sagt mir, dass die struct definiert zwei verschiedene Zeiten. Ich glaube, dass ich vielleicht verwenden müssen, um extern irgendwo? Ich habe versucht, zu Experimentieren und auf der Suche nach Hilfe über Google, aber ohne Erfolg.

Jede Hilfe wäre sehr geschätzt, danke. Alle vier Dateien sind unten.

- DATEI: Foo.h

typedef struct
{
    int number;
} my_struct;    //Redefinition; different basic types

- DATEI: 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);
}

- DATEI: Bar.h

#include "Foo.h"

void DoSomething(my_struct *number);

- DATEI: Bar.c

#include "Bar.h"

void DoSomething(my_struct *number)
{
    number->number = 10;
}

InformationsquelleAutor Tundra Fizz | 2012-05-20

Schreibe einen Kommentar