Generische Namespaces einbinden
-
Hi
Ich programmiere gerade und möchte eine generische Liste verwenden. Dazu muss ich allerdings den namespace "System.Collections.Generic" benutzen. Ich bekomme jedes mal eine Fehler Meldung.
Der Code lautet wie folgt:#include <iostream> //#include <list> #include <string> #include <string.h> using namespace std; namespace System.Collections.Generic;
Auch wenn ich using vor das "namespace" schreibe bekomme ich eine Fehlermeldung. Es tut mir leid für diese dumme Frage. Vielen Danke für die Hilfe
-
Danke für die Frage, ich wusste noch nicht, dass kaskadierende Namensräume möglich sind in c++.
-
Heißer Tipp wenn du nach Hilfe zu Fehlern fragst: Nenn den Fehler!
Geschachtelte Namespaces werden in C++ mit
::
getrennt, nicht mit.
.Es gibt nichts in deinem Code, woher dieser Namespace kommen sollte. Jedenfalls weder aus
iostream
, nochstring
, nochlist
. Ganz bestimmt nicht ausstring.h
, das ist C, was überhaupt gar keine Namespaces kennt, und solltest du daher sofort vergessen.System.Collections.Generic
klingt schwer nach C# oder C++/CLI. Sei dir sicher, welche Sprache du sprichst! C, C++, C++/CLI, C# sind jeweils komplett unterschiedliche Sprachen!Generische Listen in C++ ist die
std::list
, eben aus dem Headerlist
und im Namespacestd
, nix mit System.Collections. Ob das jetzt ist, was du suchst, oder ob du eigentlich lieber eine ganz andere Sprache sprechen möchtest, kannst nur du wissen.Auch wenn ich using vor das "namespace" schreibe bekomme ich eine Fehlermeldung
Noch ein Tipp: Herumraten wird niemals zum Erfolg führen. Dazu sind die Sprachen mit "C" im Namen viel zu kompliziert. Sie akzeptieren so gut wie alles, was man schreibt, aber ein einzelnes Zeichen kann (und wird!) den Sinn eines Ausdrucks komplett verkehren. Du musst von jedem einzelnen Zeichen in deinem Program genau wissen, wo und warum du es setzt.
Hier ist das Schreiben oder Auslassen eines ganzen Wortes natürlich erst recht so ein Fall.
namespace
alleine deklariert einen Namespace,using namespace
nutzt ihn; was ihn quasi aufhebt, also praktisch das Gegenteil vonnamespace
alleine.