Hallo, ich habe eine Frage. Kann man einen definierten Datentyp, den man in einer Header Datei A verwendet hat: typedef struct { ULTRASONIC_MEAS_SETTINGS_d us_settings; unsigned int us_measurement_counter_value; unsigned int us_measurement_distance_value; bool us_measurement_error; }ULTRASONIC_MEAS_d; auch in einer anderen Header Datei B verwenden? Leider meckert mein Compiler und ich kann mir nicht wirklich erklären warum dies nicht gehen sollte. Ich möchte ungern mir nochmals einen identischen Datentyp mit anderen Namen schaffen. Fehlermeldung: "conflicting types of ULTRASONIC_MEAS_d..." und "previous declaration of ULTRASONIC_MEAS_d" Ich möchte gern Daten die einem C Modul generiert werden über mein Hauptmodul an einen anderes C Modul weitergeben. Doch leider funktioniert es nicht so wie ich möchte. Kann mir das jemand verständlich erklären und eine Lösungsweg aufzeigen. Ich verwende die neuste Version vom AVR Studio. Vielen Dank.
Ja. Im header vorher aber noch ein ifndef
1 | #ifndef BLUBB_H_
|
2 | #define BLUBB_H_
|
3 | |
4 | typedef struct |
5 | {
|
6 | ULTRASONIC_MEAS_SETTINGS_d us_settings; |
7 | unsigned int us_measurement_counter_value; |
8 | unsigned int us_measurement_distance_value; |
9 | bool us_measurement_error; |
10 | }ULTRASONIC_MEAS_d; |
11 | |
12 | #endif
|
Damit verhinderst du dass es mehrfach deklariert wird.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.