<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[namespace]]></title><description><![CDATA[<p>Hi,</p>
<p>kann mir jemand sagen wie ich das mit den namespaces handeln kann?<br />
Der Comipler gibt mir die Fehlermeldung aus er würde a:<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f171.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--b_button_blood_type_"
      title=":b:"
      alt="🅱"
    />:std nicht kennen,<br />
was richtig ist. Nur würde ich jetzt gerne wissen, wie std:: benutzten kann.<br />
Eine Lösung wäre &quot;using namespace a::b;&quot; aber davon wird ja immer abgeraten.<br />
Oder kennt noch einer eine Lösung^^</p>
<p>Danke schon mal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<pre><code class="language-cpp">File A.cpp:

   #include &quot;A.hpp&quot;
   #include &lt;iostream&gt;

   namespace a {
      namespace b {

         void function() {
            std::cout &lt;&lt; &quot;Help somebody^^!&quot; &lt;&lt; std::endl;
         }

      };
   };
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/274448/namespace</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 14:10:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/274448.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 26 Sep 2010 14:43:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to namespace on Sun, 26 Sep 2010 14:43:13 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>kann mir jemand sagen wie ich das mit den namespaces handeln kann?<br />
Der Comipler gibt mir die Fehlermeldung aus er würde a:<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f171.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--b_button_blood_type_"
      title=":b:"
      alt="🅱"
    />:std nicht kennen,<br />
was richtig ist. Nur würde ich jetzt gerne wissen, wie std:: benutzten kann.<br />
Eine Lösung wäre &quot;using namespace a::b;&quot; aber davon wird ja immer abgeraten.<br />
Oder kennt noch einer eine Lösung^^</p>
<p>Danke schon mal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<pre><code class="language-cpp">File A.cpp:

   #include &quot;A.hpp&quot;
   #include &lt;iostream&gt;

   namespace a {
      namespace b {

         void function() {
            std::cout &lt;&lt; &quot;Help somebody^^!&quot; &lt;&lt; std::endl;
         }

      };
   };
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1957688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1957688</guid><dc:creator><![CDATA[namespaceProblem]]></dc:creator><pubDate>Sun, 26 Sep 2010 14:43:13 GMT</pubDate></item><item><title><![CDATA[Reply to namespace on Sun, 26 Sep 2010 14:50:51 GMT]]></title><description><![CDATA[<p>In dem Code Stück sehe ich kein Problem.<br />
<code>std</code> ist kein Namensraum in a::b, aber das machst du in dem gezeigten Code ja auch überhaupt nicht.. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>btw:<br />
Namensraumdefinitionen brauchen kein beendendes Semikolon.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1957693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1957693</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 26 Sep 2010 14:50:51 GMT</pubDate></item><item><title><![CDATA[Reply to namespace on Sun, 26 Sep 2010 14:59:42 GMT]]></title><description><![CDATA[<p>Teste mal dies:</p>
<pre><code class="language-cpp">File A.cpp:

   #include &quot;A.hpp&quot;
   #include &lt;iostream&gt;

   void a::b::function() {
      std::cout &lt;&lt; &quot;Help somebody^^!&quot; &lt;&lt; std::endl;
   }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1957698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1957698</guid><dc:creator><![CDATA[Zeus]]></dc:creator><pubDate>Sun, 26 Sep 2010 14:59:42 GMT</pubDate></item><item><title><![CDATA[Reply to namespace on Sun, 26 Sep 2010 15:52:04 GMT]]></title><description><![CDATA[<p>Würde der Compiler bei dieser Konstellation nicht davon ausgehen, dass <code>a::</code> bzw. <code>b::</code> eine Klasse sind?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1957719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1957719</guid><dc:creator><![CDATA[theliquidwave]]></dc:creator><pubDate>Sun, 26 Sep 2010 15:52:04 GMT</pubDate></item><item><title><![CDATA[Reply to namespace on Sun, 26 Sep 2010 15:56:31 GMT]]></title><description><![CDATA[<p>Was ist der Inhalt von A.hpp?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1957721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1957721</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Sun, 26 Sep 2010 15:56:31 GMT</pubDate></item><item><title><![CDATA[Reply to namespace on Sun, 26 Sep 2010 16:03:45 GMT]]></title><description><![CDATA[<p>Hauptsache, alle reden aneinander vorbei... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1957726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1957726</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 26 Sep 2010 16:03:45 GMT</pubDate></item><item><title><![CDATA[Reply to namespace on Sun, 26 Sep 2010 16:05:21 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Hauptsache, alle reden aneinander vorbei... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Es gibt nichts schöneres, als Verwirrtheit am Sonntag Nachmittag. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1957727</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1957727</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 26 Sep 2010 16:05:21 GMT</pubDate></item><item><title><![CDATA[Reply to namespace on Sun, 26 Sep 2010 16:58:56 GMT]]></title><description><![CDATA[<p>Ok ich habe das Problem gelöst^^. Es war mein Fehler. Als ich die .cpp geschrieben habe, hab ich zum testen mitten drin iostream inkludiert. Und später nicht über den namepace verschoben, deshalb der kurriose Fehler. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Aber danke für Eure Hilfe^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1957748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1957748</guid><dc:creator><![CDATA[namespaceProblem]]></dc:creator><pubDate>Sun, 26 Sep 2010 16:58:56 GMT</pubDate></item><item><title><![CDATA[Reply to namespace on Sun, 26 Sep 2010 21:59:42 GMT]]></title><description><![CDATA[<p>theliquidwave schrieb:</p>
<blockquote>
<p>Würde der Compiler bei dieser Konstellation nicht davon ausgehen, dass <code>a::</code> bzw. <code>b::</code> eine Klasse sind?</p>
</blockquote>
<p>Nein. Der Scope-Operator wechselt einfach in den entsprechenden Scope von <code>a</code> und danach von <code>b</code> in <code>a</code> . Die Anweisung sagt somit nichts anderes aus als: &quot;Lieber Kompiler, suche im aktuellen Scope einen Scope mit dem Namen a. Im Scope von a solltest du einen weiteren Scope mit dem Namen b haben. Wähle diesen Scope b in a für mich aus.&quot;<br />
Ob <code>a</code> und <code>b</code> nun Klassen oder einen Namensraum darstellen ist irrelevant. Beide haben aber einen Scope.</p>
<p>Dass es auch bei der Klasse um einen Scope handelt, merkst du bei solchen Konstrukten:</p>
<pre><code class="language-cpp">struct foo
{
  typedef int bar;

  bar get_bar();
};

/*(1)*/ foo::bar foo::get_bar() /*(2)*/
{
  return bar(); /*(3)*/
}
</code></pre>
<p>Bei <code>(1)</code> sind wir ausserhalb des Scopes von <code>foo</code> . Deshalb müssen wir dem Kompiler explizit sagen, wo er <code>bar</code> finden kann, nämlich im Scope von <code>foo</code> . Danach <code>(2)</code> sagen wir dem Kompiler erneut, dass es sich um die Funktion <code>get_bar</code> im Scope von <code>foo</code> handelt. Der Scope der Funktions ist ein Childscope vom <code>foo</code> Scope. Daher müssen wir nun dem Kompiler nicht mehr explizit angeben <code>(3)</code> , wo er <code>bar</code> finden kann. Dass der Rückgabewert von <code>get_bar</code> explizit angeben werden musse, kann gerade bei Funktionstemplates sehr mühsam sein. Mit C++0x wird es dafür aber Abhilfe geben:</p>
<pre><code class="language-cpp">auto foo::get_bar() -&gt; bar // hier sind wir bereits im Scope der Funktion, somit ist bar bekannt.
{
  // ...
}
</code></pre>
<p>Du kannst übrigens bei diesem Beispiel <code>struct</code> durch <code>namespace</code> ersetzen. Der Kompiler wird keinen Unterschied feststellen.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1957834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1957834</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 26 Sep 2010 21:59:42 GMT</pubDate></item><item><title><![CDATA[Reply to namespace on Mon, 27 Sep 2010 10:06:36 GMT]]></title><description><![CDATA[<p>Hmm, der g++ und auch der msvc meckern bei dem Konstrukt vom TE nicht rum.<br />
Aber so sollte es eigentlich auch gehen:</p>
<pre><code class="language-cpp">namespace a {
      namespace b {

         void function() {
            ::std::cout &lt;&lt; &quot;Help somebody^^!&quot; &lt;&lt; std::endl;
         }

      };
   };
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1957952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1957952</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Mon, 27 Sep 2010 10:06:36 GMT</pubDate></item><item><title><![CDATA[Reply to namespace on Mon, 27 Sep 2010 10:33:50 GMT]]></title><description><![CDATA[<p>Scorcher24 schrieb:</p>
<blockquote>
<p>Hmm, der g++ und auch der msvc meckern bei dem Konstrukt vom TE nicht rum.</p>
</blockquote>
<p>Der TE hat ja schon gesagt, wieso es bei ihm nicht funktioniert hat:</p>
<p>namespaceProblem schrieb:</p>
<blockquote>
<p>Ok ich habe das Problem gelöst^^. Es war mein Fehler. Als ich die .cpp geschrieben habe, hab ich zum testen mitten drin iostream inkludiert. Und später nicht über den namepace verschoben, deshalb der kurriose Fehler. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Aber danke für Eure Hilfe^^</p>
</blockquote>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1957969</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1957969</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Mon, 27 Sep 2010 10:33:50 GMT</pubDate></item></channel></rss>