Ich habe eine Klasse mit einem private char str[256];
und dafür habe ich einen expliziten Konstruktor:
explicit myClass(const char *func)
{
strcpy(str,func);
}
Ich nenne es als:
myClass obj("example");
Wenn ich dies kompiliere, erhalte ich die folgende Warnung:
veraltete Konvertierung von String-Konstante in 'char *'
Warum passiert dies?
strncpy(str, func, 255)
anstellestrcpy(str, func)
für eine sicherere Kopie verwenden. Und vergessen Sie dann nicht, das '\ 0' am Ende des Strings hinzuzufügen, da strncpy es nicht hinzufügt.