C++ Array aus mehreren Listen -> Startpunkte im Array

whasabi

Cadet 3rd Year
Registriert
Dez. 2013
Beiträge
42
Hallo :)
Ich würde gerne einen Array haben zb ar[3] wo in jedem Block von den 3 ein Startpunkt für eine Liste ist und ich so mehrere Elemente dranfügen kann
Leider funktioniert dies bei mir nicht... kann mir irgendwer helfen?


also für das Programm brauch ich mal
Code:
struct Block {
    Node values[3];
};

struct Node{
    int value;
    Node *next;
};

int main()
{
    Node *const start = new Node;
    Node * actual = start;
}

Kann mir jemand sagen wie ich es hinbekomme, dass verschiedene Startpunkte in dem Array drinnen stehen? Danke :)

vl sollte das, was im main Programm auch bei Node oben stehen..
 
Zuletzt bearbeitet:
Die Zeiten zu denen ich C++ programmiert habe, liegen schon sehr sehr lange zurück - so richtig helfen kann ich Dir leider nicht mehr. Aber was Du braust ist nen zweidimensionaler Array (egal ob jetzt aus Zeigern oder statisch).
So wie ich es, mit meinem komplett eingestaubten Wissen, beurteilen kann spannst Du da nur einen eindimensionalen auf.
 
Vielleicht sollte in deinem Code erst mal irgendwo ein
Code:
Block block = new Block;
stehen?

Dann erstellst du dir dein "Node" Array und weist es "block.values" zu ;)


EDIT: Im Prinzip kannst du das schon so machen, wie du es vorhast. Dann hast du im "Block" im "values" Array 3 "Node"s stehen und kannst in jedem Node einen Pointer zu einem weiteren Node speichern.

Also eigentlich einfach nur 3 verkettete Listen.


EDIT2: Ein Array von "struct"s sollte ja auch nicht das Problem darstellen oder?
Code:
Node * pointer = new Node[3];
 
Zuletzt bearbeitet:
Da weiß man ja gar nicht, wo man anfangen soll....

Beim Beitrag: Du hast zwar deinen Code gepostet, nicht aber dein Problem. Ein "geht nicht" ist wirklich schlechter Foren-Stil, wie dir auch bei der Erstellung deines Beitrags wörtlich nahegelegt wurde. Es hätten hier Fehlermeldungen auftauchen sollen.

Dein Programm: Dieses Programm erfüllt keinen Zweck - du hast nichtmal eine Ausgabe oder einen Array-Zugriff. Selbst wenn es wirklich nicht funktionieren würde, du würdest das doch gar nicht herausbekommen.
Konzeptuell hast du aber auch ein Paar Fehler. Dein Node sollte kein struct sein - gerade weil du eine Objektreferenz auf sich selbst erstellst, sollte es einen Konstruktor beinhalten, der genau diese Referenz mit null initialisiert. also "class" wäre hier das richtige Schlüsselwort gewesen.
C++ compiled vorwärts, nicht geschachtelt. Zum Zeitpunkt von Zeile 2 ist ein "Node"-Datentyp noch gar nicht bekannt. In Zeile 0 sollte vorher etwas stehen wie "struct Node;".
Weiterhin verwendest du den von dir angelegten Datentyp "Block" gar nicht. Man legt keine Datentypen an, die man nie verwendet. Besonders nicht in so kurzen Beispielprogrammen.

Und zu guter letzt: Wenn du auf "compile" drückst (was du ja hoffentlich mal getan hast - sonst funktionieren Programme nicht), dann solltest du ja eine Wagenladung Fehlermeldungen bekommen haben. Es hilft oft, sich diese durchzulesen und zu schauen, wo das Problem liegen könnte.

mfg
 

Ähnliche Themen

Zurück
Oben