Problem mit char Arrays?
lima-city → Forum → Programmiersprachen → C/C++ und D
array
bringen
code
compiler
erzeugung
fehler
folgendem problem
gesamten code
machen
meinung
paste
problem
programm
semikolon
string
test
tun
typ
wall
zeile
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
kochmarkus schrieb:
Also bei mir kommt kein Fehler, funktioniert wunderbar und der Code ist meiner Meinung nach auch richtig. Was für ein Fehler kommt den bei dir?
gcc compiler unter Ubuntu 10.04:
test.cpp:4: warning: deprecated conversion from string constant to ‘char*’ test.cpp:4: warning: deprecated conversion from string constant to ‘char*’ test.cpp:6: error: expected constructor, destructor, or type conversion before ‘(’ token
-
Also für mich klingt der Fehler nach folgendem Problem:
Du hast eine Zeichenkette mit "TEXT" erstellt. Solche Zeichenketten sind vom Typ const char*.
Ich denke jetzt ist schon klar, dass dein Problem ist, dass du das auf einen char* zuweisen möchtest.
Das macht der Kompiler nicht mit, weil du damit das const entfernst und eventuelle Zugriffsfehler erzeugst.
Fazit:
const char *objects[] = {"Bla","Blabla"};
sollte dein Problem lösen.
PS:
Theoretisch sollte dein Kompiler die Fehlermeldung auch auf der Zeile der Erzeugung des Arrays bringen und damit zeigen, dass das Problem nicht bei printf liegt
[Edit]
Semikolon im Quellcode vergessen ^^
Beitrag zuletzt geändert: 29.6.2010 17:18:41 von sektor -
Ich hab auch auf Ubuntu 10.04 mit gcc kompiliert, sogar mit gcc -Wall -pedantic test.c, und erhalte keine Warnings oder Errors und das Programm läuft fehlerfrei. Copy&Paste doch bitte mal deinen gesamten Code rein und nicht nur die zwei Zeilen.
PS: Hier mein Code der ohne Probleme kompiliert:
#include <stdio.h> int main(void) { char *objects[]={"object1","object2"}; printf("%s", objects[0]); return 0; }
-
kochmarkus schrieb:
Ich hab auch auf Ubuntu 10.04 mit gcc kompiliert, sogar mit gcc -Wall -pedantic test.c, und erhalte keine Warnings oder Errors und das Programm läuft fehlerfrei. Copy&Paste doch bitte mal deinen gesamten Code rein und nicht nur die zwei Zeilen.
PS: Hier mein Code der ohne Probleme kompiliert:
#include <stdio.h> int main(void) { char *objects[]={"object1","object2"}; printf("%s", objects[0]); return 0; }
Ich musste vor das "char* objects[]..." ein "const" tun. Hats sich also schon erledigt. Aber trotzdem danke (-; -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage