Mailinglist Archive: opensuse-programming-de (140 mails)

< Previous Next >
Re: Konvertierung von unsigned char* auf signed char*
  • From: Holger Mauritz <ai546@xxxxxxxxxxxxxx>
  • Date: Thu, 10 Oct 2002 15:28:12 +0200
  • Message-id: <200210101528.13063.ai546@xxxxxxxxxxxxxx>
Am Donnerstag, 10. Oktober 2002 14:38 schrieb Christian Weickhmann:
> Hallo Michael!
>

[...]

> Sieht folgendermaßen aus:
>
> Klasse sm_schueler speichert die Daten einer Person (eines Schülers)
> und stellt Funktionen zu deren Manipulation bereit.
> Will ich jetzt ein Array von solchen Objekten erzeugen, kann es dann
> der Grund für dieses SIGSEGV sein, dass ich folgendes gemacht habe:
>
> sm_schueler *s[100]; // um 100 Elemente von sm_schueler zu
> initialisieren...

Du initialisiert hier aber nichts, legst vielmehr 100 Zeiger vom Typ
sm_schueler an, die irgendwo ins Nirwana zeigen.

>
> dann der Aufruf:
>
> s[0]->setName("EinName");
>
> Ist das so korrekt oder muss ich s[0] vorher noch initialisieren? Wenn ja,
> wie?

s[0] ist kein Objekt, sondern nur ein Zeiger -> 'new' verwenden und später den
'delete' nicht vergessen, oder direkt 100 Objekte anlegen:
sm_schueler s[100].
Zweiteres ist aber sehr unschön.

>
> Danke,
> Christian

hth
holger

< Previous Next >