Doppelte Variablendefinition
-
Schau mal nach extern.
Machst du eigentlich C oder C++?
-
der beschreibung nach c
-
eben.
Das sollte eigentlich ein zarter Hinweis sein, dass er sich im falschen Forum befindet.
-
Dieser Thread wurde von Moderator/in Phoemuex aus dem Forum C++ in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
kannst du die deklaration der konstanten mal posten?
konstantendeklarationen wie const int i=5 gehen nur in c++ und nicht in c. in c solltest du für konstanten präprozessor-makros verwenden.
-
Konfusius schrieb:
kannst du die deklaration der konstanten mal posten?
konstantendeklarationen wie const int i=5 gehen nur in c++ und nicht in c. in c solltest du für konstanten präprozessor-makros verwenden.
Erst einmal Danke für die obigen Antworten. Habs mit extern gemacht und nun läuft es.
@Konfusius: Ich hab es genauso definiert wie du es in deinem Beispiel hast und es funktioniert. Was meinst du mit präprozessor-Makros, #define ... ?
-
yup das meint er
-
Konfusius schrieb:
konstantendeklarationen wie const int i=5 gehen nur in c++ und nicht in c.
selbstverständlich geht sowas auch in C
const int i=5; i = 3; // <-- error: lvalue is const object
-
~fricky schrieb:
selbstverständlich geht sowas auch in C
const int i=5; i = 3; // <-- error: lvalue is const object
Dann ist das eben kein (ANSI-)C-Compiler!
-
Javaner schrieb:
Dann ist das eben kein (ANSI-)C-Compiler!
der kann sogar C99.
-
~fricky schrieb:
Konfusius schrieb:
konstantendeklarationen wie const int i=5 gehen nur in c++ und nicht in c.
selbstverständlich geht sowas auch in C
const int i=5; i = 3; // <-- error: lvalue is const object
Klar. Gemeint war vermutlich eher folgendes (Achtung, ist in C++ nix mit VLA. Dass das in C99 auch geht, weiss ich):
const int i=5; char ary[i];
Javaner schrieb:
Dann ist das eben kein (ANSI-)C-Compiler!
Hä?