Supportnet / Forum / Anwendungen(Java,C++...)
'const char [11]' kann nicht in 'int' konvertiert werden
Frage
Hallo,
Also, ich hab Visual C++ Konsolenprogramm Win32 gemacht. Da hab ich nach
include, using, main, 1 Kommentar, 4 cout, eine Variablendeklaration char, cin und 3 Kommentaren dann 4 Variablen int deklariert und mit Zeichenketten gefüllt. (Hab auch mit char versucht, klappt auch nicht).
Und beim kompilieren kommt dann die Meldung:
error C2440: '=': 'const char [11]' kann nicht in 'int' konvertiert werden.
wenn ich aber die 4 Variablen wegnehme, kommt die Meldung nicht! Hab schon alles versucht, klappt nicht. Es sind auch keine Tippfehler da. Woran liegt das? ich werd noch verrückt, bitte hilfe!
mfg
TByte
Antwort 1 von TByte
Achja, die meldung gibbet noch mit:
const char [7]
const char [17]
const char [12]
const char [11]
genau in der Reienfolge
mfg
TByte
const char [7]
const char [17]
const char [12]
const char [11]
genau in der Reienfolge
mfg
TByte
Antwort 2 von Rangoo
Es wäre unglaublich viel einfacher, wenn du den Codeteil einfach zeigen würdest.
Offensichtlich versuchst du, in einen int eine Zeichenkette zu packen.
Offensichtlich versuchst du, in einen int eine Zeichenkette zu packen.
Antwort 3 von TByte
Mit int Zeichenkette geht ja; aber auch wenn nicht, ich habe das geliche auch mit char probiert, dann lautete die Meldung:
error C2440: '=': 'const char [11]' kann nicht in 'char' konvertiert werden.
das ist ja das Problem! ich will nix konvertieren, schon gar nicht etwas, was es schon ist! Hier der Codeteil:
und dann eben noch:
Ich weiß, man kann variablen gleich nach der deklaration definieren, aber ich dachte es liegt daran, also hab ich das so gemacht.
mfg
TByte
error C2440: '=': 'const char [11]' kann nicht in 'char' konvertiert werden.
das ist ja das Problem! ich will nix konvertieren, schon gar nicht etwas, was es schon ist! Hier der Codeteil:
#include <iostream>
using namespace std;
int main() {
//OK, also hier is ja noch einfach
cout << "Guten Tag und willkomen bei dem Latein-Grammatik-Handbuch!\n";
cout << "Bitte geben Sie ein, was Sie wollen.\n";
cout << "Sie koennen entscheiden:\n";
cout << "Verben --- Zeitverhaeltniss --- Substantive --- Kasuslehre\n";
char waswollensie;
cin >> waswollensie;
//So, jetzt wirds komplex; ich nehme an, "waswollensie" ist aussagekräftig...
//OK, also hier die Auswahl-Variablen:
int verben;
verben = "Verben";
int zeitver;
zeitver = "Zeitverhaeltniss";
int subs;
subs = "Substantive";
int kasus;
kasus = "Kasuslehre";
//Hier kommt jetzt die Abfrage
}
und dann eben noch:
#include <iostream>
using namespace std;
int main() {
//OK, also hier is ja noch einfach
cout << "Guten Tag und willkomen bei dem Latein-Grammatik-Handbuch!\n";
cout << "Bitte geben Sie ein, was Sie wollen.\n";
cout << "Sie koennen entscheiden:\n";
cout << "Verben --- Zeitverhaeltniss --- Substantive --- Kasuslehre\n";
char waswollensie;
cin >> waswollensie;
//So, jetzt wirds komplex; ich nehme an, "waswollensie" ist aussagekräftig...
//OK, also hier die Auswahl-Variablen:
char verben;
verben = "Verben";
char zeitver;
zeitver = "Zeitverhaeltniss";
char subs;
subs = "Substantive";
charkasus;
kasus = "Kasuslehre";
//Hier kommt jetzt die Abfrage
}
Ich weiß, man kann variablen gleich nach der deklaration definieren, aber ich dachte es liegt daran, also hab ich das so gemacht.
mfg
TByte
Antwort 4 von bored
1. Beispiel: Warum wilst du einen String (Zeichenkette) in eine integer-variable schreiben?
2. Beispiel: Warum willst du einen String (Zeichenkette) in eine Variable schreiben, die nur ein einzelnes Zeichen fassen kann?
2. Beispiel: Warum willst du einen String (Zeichenkette) in eine Variable schreiben, die nur ein einzelnes Zeichen fassen kann?
Antwort 5 von bored
Aber bevor das hier wieder in einen 100 Reply-Thread ausartet:
C Strings
C++ Strings
Beide funktionieren in C++
C Strings
C++ Strings
Beide funktionieren in C++
Antwort 6 von TByte
Also mit string gehts nicht, char kann nur 1 Zeichen aufnehmen?
In altem C++ konnte man in int auch Strings speichern.
Und bei dem Datentyp string meckert der rum dass des nicht gibt.
mfg
TByte
In altem C++ konnte man in int auch Strings speichern.
Und bei dem Datentyp string meckert der rum dass des nicht gibt.
mfg
TByte
Antwort 7 von bored
Wie wär's, wenn du zur Abwechslung mal die exakte Meldung postest.
Und dazu deinen Code.
Und dazu deinen Code.
Antwort 8 von Rangoo
Das muss ein sehr altes C++ gewesen sein.
Ja, ein char kann nur ein Zeichen aufnehmen.
Wenn Strings nicht existieren, musst du entweder mit char-Arrays arbeiten oder die entsprechende Header-Datei (vermutlich cstring) importieren.
Ja, ein char kann nur ein Zeichen aufnehmen.
Wenn Strings nicht existieren, musst du entweder mit char-Arrays arbeiten oder die entsprechende Header-Datei (vermutlich cstring) importieren.
Antwort 9 von TByte
zur abwechselung habe ich mal die genaue meldung und den code gepostet.
vielne dank, die bibliothek hieß string, ohne c,
also #include <string>
mfg
TByte
vielne dank, die bibliothek hieß string, ohne c,
also #include <string>
mfg
TByte
Antwort 10 von bored
Hier mal so, wie es aussehen könnte:
Lässt sich ganz prima kompillieren...
...und spuckt Folgendes aus:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
//OK, also hier is ja noch einfach
cout << "Guten Tag und willkomen bei dem Latein-Grammatik-Handbuch!\n";
cout << "Bitte geben Sie ein, was Sie wollen.\n";
cout << "Sie koennen entscheiden:\n";
cout << "Verben --- Zeitverhaeltniss --- Substantive --- Kasuslehre\n";
string waswollensie;
cin >> waswollensie;
//So, jetzt wirds komplex; ich nehme an, "waswollensie" ist aussagekräftig...
//OK, also hier die Auswahl-Variablen:
string verben = "Verben";
string zeitver = "Zeitverhaeltniss";
string subs = "Substantive";
string kasus = "Kasuslehre";
//Hier kommt jetzt die Abfrage
cout << verben << " verben\n" << zeitver << " zeitver\n" << subs << " subs\n" << kasus << " kasus\n\n" << "eingetippt: " << waswollensie << "\n";
return 0;
}
Lässt sich ganz prima kompillieren...
g++ tbyte.cpp -o tbyte && \
chmod +x tbyte && \
./tbyte
...und spuckt Folgendes aus:
Guten Tag und willkomen bei dem Latein-Grammatik-Handbuch!
Bitte geben Sie ein, was Sie wollen.
Sie koennen entscheiden:
Verben --- Zeitverhaeltniss --- Substantive --- Kasuslehre
wassollichwohlwollen?
Verben verben
Zeitverhaeltniss zeitver
Substantive subs
Kasuslehre kasus
eingetippt: wassollichwohlwollen?