Allokation von strings
-
Wenn Du als Anfänger in C++ unterwegs bist, nutze für Strings std::string.
-
Von den anderen Beiträgen her zu urteilen soll das wohl C sein, mit einem extrem schlechten Lehrbuch, das den Unterschied zu C++ nicht kennt. Daher nach C verschoben.
-
@SeppJ sagte in Allokation von strings:
Von den anderen Beiträgen her zu urteilen soll das wohl C sein
Wessen Beiträge, Wutz'? Das soll schon C++ sein, allerdings ist das verwendete Buch steinzeitlich.
-
@H-P-Wurst sagte in Allokation von strings:
Beides gibt denselben Fehler.
Kann nicht sein, beides geht fehlerfrei, sowohl in C als auch C++. Es gibt sehr naheliegende kleine Änderungen, mit denen man tatsächlich den Fehler erzeugen kann, den du hast, aber damit du lernst, dass du bitte genau den Code zu deinem Fehler posten sollst, gebe ich mir mal nicht die Mühe, zu spekulieren, sondern lasse dich deine Frage verbessern.
@Bashar sagte in Allokation von strings:
@SeppJ sagte in Allokation von strings:
Von den anderen Beiträgen her zu urteilen soll das wohl C sein
Wessen Beiträge, Wutz'? Das soll schon C++ sein, allerdings ist das verwendete Buch steinzeitlich.
Bis auf ein einsames
#include<iostream>
war alles 100% C, auch mit den typischen Programmiermustern für (schlechte) C-Programmierung. Da nutzt es ihm ja nichts, wenn man ihm jetzt eine Hilfestellung in einer Sprache gibt, die er nicht spricht.
-
Wie du meinst, du bist der Moderator.
-
@SeppJ Also folgender Code:
int main() { char* s = "Hello world!"; }
gibt bei mir die Fehlermeldung: Ein Wert vom Typ ""const char *"" kann nicht zum Initialisieren einer Entität vom Typ ""char *"" verwendet werden.
Benutze Visual Studio 2020.
LG
-
@H-P-Wurst sagte in Allokation von strings:
int main()
{
char* s = "Hello world!";
}Benutze mal
int main() { char* new = "Hello world!"; }
So sicherst du ab, dass du NICHT in C++ arbeitest.
-
@Wutz sagte in Allokation von strings:
int main()
{
char* new = "Hello world!";
}liefert: Syntaxfehler "new"
-
War zu erwarten, um auf C umzustellen,
entweder die Quellcodedatei umbenennen von .cpp auf .c
oder in den Projekteigenschaften C/C++-Erweitert-Kompilierungsart auf /TC (Als C-Code kompilieren)
einstellen.
Und wenn MS nicht wieder sinnfrei irgendwas am C-Compiler rumgefrickelt hat wirst du keine Warnung mehr bekommen.
-
@H-P-Wurst sagte in Allokation von strings:
@SeppJ Also folgender Code:
int main() { char* s = "Hello world!"; }
gibt bei mir die Fehlermeldung: Ein Wert vom Typ ""const char *"" kann nicht zum Initialisieren einer Entität vom Typ ""char *"" verwendet werden.
Benutze Visual Studio 2020.
LGDeswegen haben wir ja auch gefragt, ob da wirklich ein
[]
steht, oder vielleicht nicht doch ein*
.