Programmieren - alles kontrollieren 4.937 Themen, 20.647 Beiträge

C++ : gegenseitige Referenzierung

Dreamforger / 8 Antworten / Flachansicht Nickles

Hallo mal wieder.
Ich hab mal wieder ein triviales aber nerviges Problem mit C++: Ich habe zwei Klassen (jeweils mit header und c file). Reduziert sehen die beiden etwa so aus:

------ca.h--------
#include "cb.h"

class CA {
CB* other;
...
}

------cb.h--------
#include "ca.h"

class CB {
CA* other;
...
}

Die ... ersetzen Konstruktor, Destruktor und die eigentliche Funktionalität.

Das Problem ist jetzt das C++ beim Compilieren von CA, wg. include, CB übersetzt wird und darin findet es dann die Referenz auf CA, die aber noch nicht übersetzt wurde.

Ich hab schon alles mögliche mit extern und typedef ausprobiert, aber ich find die Richtige Syntax einfach nicht.

Danke für die Antworten
Dreamforger

bei Antwort benachrichtigen
Dreamforger toosten „Klassen sind keine funktionen !!! Das was du vorhast geht nicht ... ich verstehe...“
Optionen

Ich wollte es euch ja ersparen: Es geht um Inverse Kinematik.

Ein IKSkelett ist aus Knochen und Gelenken aufgebaut. Jeder Knochen hat eine Vater- und ein Kind-Gelenk. Jedes Gelenk hat einen oder keinen Vater-Knochen und beliebig viele Kind-Knochen.
z.b
G-K-G;
oder
G-K-G-K-G
|
K-G-K-G

wie gesagt: eine alternierende beliebig große verkettete Datenstruktur. Ich weis ja nicht wie das jetzt weiterhilft, das Problem hab ich ja bereits isoliert

bei Antwort benachrichtigen