Forum: PC-Programmierung C Programmier Problem


von koerli (Gast)


Lesenswert?

Hallo Leute,
ich hab folgende Konstellationen von meinen C-/H-Dateien:

main.c
1
#include "Statemachine.h"
2
#include "Texts.h"
3
#include "stdio.h"
4
5
void main(void){
6
  printf("zahl = %i",test);
7
  Zustandsautomat();
8
}
Statemachine.c
1
#include "Texts.h"
2
#include "Statemachine.h"
3
#include "stdio.h"
4
5
6
7
8
void Zustandsautomat(void){
9
  printf("zahl = %i",test);
10
}
texts.h
1
#ifndef _TEXT 
2
#define _TEXT
3
  const int test=4;
4
#endif


Bei der Kompillierung bringt er mir den Fehler das test dopplet 
definiert ist....Jetz ist die frage wie mach ich das richtig ds ich es 
so kompillieren kann?! dankö für eure hilfe

von Stefan E. (sternst)


Lesenswert?

Du schreibst in texts.h ein extern davor, was aus der Definition eine 
Deklaration macht (schlag besser nochmal nach, was da der Unterschied 
ist). Und in einer der C-Dateien schreibst du dann die Definition.

von zwieblum (Gast)


Lesenswert?

das da:

const int test=4;

in eine headerdatei ... you are asking for trouble ...

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
Noch kein Account? Hier anmelden.