Kompexe Forward-Deklaration
-
Hallo,
ich probiere mich gerade mit der Boost-Bibliothek und habe eine reflexiv aufgebaute Datenstruktur:
enum Junctor {AND, OR, IMPLICIT, EQUIVALENT}; enum Quantor {FOR_ALL, EXIST}; typedef std::string AtomicFormula; typedef boost::tuple<Quantor, AtomicFormula, Formula> QuantorFormula; typedef boost::tuple<Junctor, Formula, Formula> BinaryFormula; typedef boost::variant< AtomicFormula, boost::recursive_wrapper<QuantorFormula>, boost::recursive_wrapper<BinaryFormula> > Formula;Wie ihr seht, wird Formula benutzt ohne es vorher zu definieren. Mein Wissen reicht nicht aus, um eine solche Forward-Deklaration zu schreiben. Ich hoffe, dass ihr es packt

Vielen Dank.
Tobi
-
Probier mal Formular* in Deine Tupel zu packen. Die Größe von Formular ist zur Zeit Deiner Tupel-Deklaration ja noch nicht bekannt, daher kann der Compiler nicht wissen, wie groß die Elemente sein müssen.
-
Danke für deine Antwort.
Nun ja, auch hierbei meldet der Compiler einen Fehler, nämlich er Formula nicht
kennt.
-
tobi_tud schrieb:
Danke für deine Antwort.
Nun ja, auch hierbei meldet der Compiler einen Fehler, nämlich er Formula nicht
kennt.Naja, dann stimmt irgendwas mit Deiner Forward-Deklaration nicht.
-
Tachyon schrieb:
Naja, dann stimmt irgendwas mit Deiner Forward-Deklaration nicht.
da is aber alles richtig du vogel
-
tobi_tud schrieb:
Tachyon schrieb:
Naja, dann stimmt irgendwas mit Deiner Forward-Deklaration nicht.
da is aber alles richtig du vogel
Bevor Du Leute beleidigts wären etwas mehr Infos hilfreich. WELCHER Fehler z.B. da kommt...
-
tobi_tud schrieb:
Tachyon schrieb:
Naja, dann stimmt irgendwas mit Deiner Forward-Deklaration nicht.
da is aber alles richtig du vogel
Na dann ist doch alles Ok.
Gruß,Simon2.