Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Quellcode |
|
1 |
SIGSEGV (Segmentation fault) at 0xb7f6b519 in function std::string::assign(std::string const&)() at ??:?? from /usr/lib/libstdc++.so.6 |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 |
#include string foo = "hello";string bar = "world";string foobar = foo + bar + "!"; std::cout << foobar << std::endl; |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »daemonTutorials« (30.12.2011, 20:34)
C-/C++-Quelltext |
|
1 2 3 |
std::stringstream stream; stream << foo << bar << "!"; std::cout << stream.str(); |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »C++-Coder« (30.12.2011, 18:50)
Community-Fossil
Der Link geht nicht...
Evtl. sind die Strings Member eines Objektes, das schon nicht mehr, oder noch nicht existiert. Wenn du über einen ungültigen Zeiger Methoden von Objekten aufrufst, geht das so lange gut, bis du auf Member zugreifst, dann knallt es an Stellen, wo scheinbar gar nichts ist.
C-/C++-Quelltext |
|
1 |
Person *person;
|
Der Link geht jetzt, aber da werden nirgendwo strings zusammen gesetzt. Kannst du nicht einfach die relevaten Codeausschnitte hier posten?
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
/* * Title: Person Class * Description: The Instances of this class describe a person. * Author: Maik * Date: 2011/12/28 * */ class Person { private: public: string firstName; string lastName; string age; string birthday; Person(); string getAttribute(int nameindex); int setAttribute(int nameindex, string content); string getAll(); }; // Konstruktor Person::Person() { this->firstName = "Frank"; this->lastName = "Mueller"; this->age = "14"; this->birthday = "19970109"; } string Person::getAttribute(int nameindex) { switch (nameindex) { case 1: return this->firstName; break; case 2: return this->lastName; break; case 3: return this->age; break; case 4: return this->birthday; break; default: return "I have no params"; break; } return 0; } int Person::setAttribute(int nameindex, string content) { switch (nameindex) { case 1: this->firstName = content; return 0; break; case 2: this->lastName = content; return 0; break; case 3: this->age = content; return 0; break; case 4: this->birthday = content; return 0; break; default: return 1; break; } return 0; } string Person::getAll() { string all = this->firstName + ", " + this->lastName + " | " + this->age + " | " + this->birthday; return all; } |
Community-Fossil
Lern doch erstmal die Grundlagen bevor du mit Objektorientierung anfängst...
Wieso ist Person *person; überhaupt global? Packs in die Mainfunktion und lass das Sternchen weg, dann gehts.
Wie lernst du eigentlich C++? Über Tutorials oder so?
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
g++ -Wall -g -o "intelligent_program" "intelligent_program.cpp" (im Verzeichnis: /media/Daten/github/dt_tutorials_listings/c++/intelligent_program.d) intelligent_program.cpp: In Funktion »int main()«: intelligent_program.cpp:51:28: Fehler: Basisoperand von »->« hat Nicht-Zeiger-Typ »Person« intelligent_program.cpp: In Funktion »void fillIn(std::string, std::string, std::string, std::string)«: intelligent_program.cpp:72:5: Fehler: »person« wurde in diesem Gültigkeitsbereich nicht definiert Kompilierung fehlgeschlagen. |
Community-Fossil
Werbeanzeige