const char[X] kann nicht in int konvertiert werde?
-
std::string SkillNames[12] = { "Half HP Mastery", "HP Mastery", "SP Mastery", "Dual Mastery", "Anchoring", "Flying", "Invisible", "Detect", "Shield", "Block", "Bind", "Metallic" };
Der Compiler meckert bei diesem Quellcode und dann noch mit einer komischen Fehlermeldung :
error C2440: 'Initialisierung': 'const char [14]' kann nicht in 'int' konvertiert werdenWieso denn in int, das ist doch immernoch std::string ?
-
Wild geraten: Hast du
#include <string>
vergessen?
-
Nein
-
Gib mir mal ein kleines Programm, das deiner Meinung nach funktionieren sollte und den Fehler reproduziert.
-
ich habe den codefetzen bei mir ausprobiert und er funktioniert. Möglicherweise verlinkt der das includetag nicht richtig auf die string klasse.
-
Bist du sicher, dass das in diesem Codeabschnitt geschieht? Dort gibt es nämlich gar keinen const char [14]...
-
hast du über der Zeile zufällig was vergessen? etwa einen namen für eine int variable oder/und ein semikolon?
-
Bitte ein komplettes Codebeispiel posten, das den Fehler wiedergibt.
-
Falls die Strings nicht mehr verändert werden, ist folgendes eigentlich besser:
const char* const SkillNames[] = { "Half HP Mastery", "HP Mastery", "SP Mastery", "Dual Mastery", "Anchoring", "Flying", "Invisible", "Detect", "Shield", "Block", "Bind", "Metallic" };
Damit sparst Du dir die unnötige dynamische Initialisierungen Freispeicherallozierungen, die der std::string-Konstruktor sonst machen würde.