Klasse aus anderem Namespace vorab deklarieren
-
Hallo,
ich mache irgendeinen Anfaengerfehler bei der Verwendung von Namespaces: Ich habe einen Namespace aux_math
namespace aux_math { class Minus_Infinity { public: Minus_Infinity() { } operator std::string() const { return "-Inf"; } }; ... }dessen Klasse Minus_Infinity ich in nucl_probs.h verwenden will:
class aux_math::Minus_Infinity; // Zeile 6 class Nucl_Probs { ... public: virtual boost::variant<double, aux_math::Minus_Infinity> log_prob_ext(int mut_rate, int nucl) const = 0; // Zeile 18 };Das fuehrt dann zu der Fehlermeldung
../src/node/nucl_probs.h:6: Fehler: »aux_math« wurde nicht deklariert ../src/node/nucl_probs.h:18: Fehler: »aux_math« wurde in diesem Gültigkeitsbereich nicht definiertKann mir jemand sagen, wie man das richtig macht?
-
So:
namespace aux_math { class Minus_Infinity; }
-
Tachyon schrieb:
So:
namespace aux_math { class Minus_Infinity; }Gehe ich Recht in der Annahme, dass das nicht kuerzer/kompakter geht?
-
ingobulla schrieb:
Gehe ich Recht in der Annahme, dass das nicht kuerzer/kompakter geht?
Nein:
namespace aux_math{class Minus_Infinity;}