Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Nahar Senior JLI'ler
Alter: 36 Anmeldedatum: 16.07.2003 Beiträge: 267
Medaillen: Keine
|
Verfasst am: 16.10.2003, 14:25 Titel: struct in struct |
|
|
Hi,
ich will ein Struct in einem Struct hinkriegen. Soweit tut auch alles:
Code: |
struct oberstruct
{
struct unterstruct
{
int variable;
};
int zweitevariable;
};
|
aber dann hab ich das Problem:
wie deklarier ich die structs?
mit einem gehts so:
Code: |
oberstruct meinstruct;
|
Aber das kapeirt der Compiller nicht:
Code: |
oberstruct.unterstruct meinstruct;
|
Was kann ich da machen? |
|
Nach oben |
|
|
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 16.10.2003, 14:29 Titel: |
|
|
Probier mal:
Code: |
oberstruct::unterstruct meinstruct;
|
|
|
Nach oben |
|
|
Nahar Senior JLI'ler
Alter: 36 Anmeldedatum: 16.07.2003 Beiträge: 267
Medaillen: Keine
|
Verfasst am: 16.10.2003, 14:53 Titel: |
|
|
Cool, tut Danke |
|
Nach oben |
|
|
Nahar Senior JLI'ler
Alter: 36 Anmeldedatum: 16.07.2003 Beiträge: 267
Medaillen: Keine
|
Verfasst am: 16.10.2003, 20:01 Titel: |
|
|
Frage: Wie kann ich die Variablen dann abfragen oder einen Wert verteilen? Bei:
Code: | oberstruct::unterstruct.variable = 5; | erzählt mir mein Compiler das ein ;nach oberstruct kommen müsse. Damit beende ich dann aber doch den Befehl, oder? |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 16.10.2003, 20:09 Titel: |
|
|
Ich könnte mir vorstellen, dass man das ganz einfach mit einem Punkt macht, wie wenn du sonst auch auf structs zugreifst.
<edit>
Greifst du überhaupt auf die Instanz einer Struct zu, oder wie hier im Codebeispiel auf den Structnamen? Du musst das nämlich mit der Instanz machen:
Code: | STRUCTmeinestruct structinstanz;
structinstanz:wasauchimmer=5; |
</edit> _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Zuletzt bearbeitet von The Lord of Programming am 16.10.2003, 20:12, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Nahar Senior JLI'ler
Alter: 36 Anmeldedatum: 16.07.2003 Beiträge: 267
Medaillen: Keine
|
Verfasst am: 16.10.2003, 20:12 Titel: |
|
|
Nein, bei einem Punkt gibts wieder ddas PRoblem mir dem doppel-struct, also das es das nciht anerkennt. |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
|
Nach oben |
|
|
Nahar Senior JLI'ler
Alter: 36 Anmeldedatum: 16.07.2003 Beiträge: 267
Medaillen: Keine
|
Verfasst am: 16.10.2003, 20:16 Titel: |
|
|
aha. Und wie mach ich das... Struktur instanz - nie gehört... |
|
Nach oben |
|
|
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 16.10.2003, 20:17 Titel: |
|
|
Code: |
oberstruct::unterstruct instanzDerStruct;
instanzDerStruct.Variable = 5;
|
Du musst immer erst eine Instanz der structur anlegen,.
Auf diese Instanz kannst du dann zugreifen.
Eine strucktur ist nur ein Typ.
Wenn du darauf zugreifen willst musst du erst eine instanz davon anlegen.
Mit "oberstruct::unterstruct instanzDerStruct;" legst du eine Instanz der unterstruct Structur an.
Das "::" steht nur dafür, dass der Compiler weiß, dass der Typ "unterstruct" im oberstruct namensraum liegt. |
|
Nach oben |
|
|
Nahar Senior JLI'ler
Alter: 36 Anmeldedatum: 16.07.2003 Beiträge: 267
Medaillen: Keine
|
Verfasst am: 16.10.2003, 20:18 Titel: |
|
|
ahaaaaaa... Gut zu wissen |
|
Nach oben |
|
|
Nahar Senior JLI'ler
Alter: 36 Anmeldedatum: 16.07.2003 Beiträge: 267
Medaillen: Keine
|
Verfasst am: 16.10.2003, 20:22 Titel: |
|
|
Und wie tut das bei Struktur Arrays? Ich will in einer For-Schleife mehreren Struct einen Wert zuweisen - muss ich dafür jeden Wert eine neue Instanz machen? |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 16.10.2003, 20:28 Titel: |
|
|
Nein, da legst du einfach ein Instanzfeld an:
Code: | STRUCTmeinestruct structarray[10];
for(xyz)
{
structarray[i].variable=5;
} |
_________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
|