<?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[Problem bei Container-Verwendung (stdlib)]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich habe gerade ein Problem beim Kompilieren eines Programms, das sich nach einiger Analyse auf ein sehr elementares Problem mit der Stdlib reduziert.</p>
<p>Beim Testprogramm:</p>
<pre><code>#include &lt;vector&gt;
int main(){
	vector&lt;int&gt; eee (999);
	return 0;
}
</code></pre>
<p>lamentiert der g++-Compiler</p>
<pre><code>test.cc:7: error: ‘vector’ was not declared in this scope
test.cc:7: error: expected primary-expression before ‘int’
test.cc:7: error: expected `;' before ‘int’
</code></pre>
<p>- also schlichtweg genau das, was auch ohne den include-Befehl zu erwarten ist und auch herauskommt.<br />
(Zeile 7 ist diejenige die mit &quot;vector&lt;int&gt;&quot; beginnt.)</p>
<p>Das Problem bleibt analog bestehen, wenn ich<br />
a) &quot;vector&quot; durch &quot;list&quot; ersetze,<br />
b) &quot;#include &lt;stdlib.h&gt;&quot; anstelle &quot;#include &lt;vector&gt;&quot; setzte.</p>
<p>Das heißt doch, der Compiler findet die Deklaration der Standard-Container nicht.<br />
Andererseits findet er offenbar die Stdlib, sonst ergäbe das Experiment schließlich eine andere Fehlermeldung.</p>
<p>Ahnt jemand von Euch, was hier passiert und was ich besser machen kann?</p>
<p>Vielen Dank im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/284918/problem-bei-container-verwendung-stdlib</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 17:03:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/284918.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Apr 2011 10:24:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem bei Container-Verwendung (stdlib) on Mon, 11 Apr 2011 10:24:48 GMT]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich habe gerade ein Problem beim Kompilieren eines Programms, das sich nach einiger Analyse auf ein sehr elementares Problem mit der Stdlib reduziert.</p>
<p>Beim Testprogramm:</p>
<pre><code>#include &lt;vector&gt;
int main(){
	vector&lt;int&gt; eee (999);
	return 0;
}
</code></pre>
<p>lamentiert der g++-Compiler</p>
<pre><code>test.cc:7: error: ‘vector’ was not declared in this scope
test.cc:7: error: expected primary-expression before ‘int’
test.cc:7: error: expected `;' before ‘int’
</code></pre>
<p>- also schlichtweg genau das, was auch ohne den include-Befehl zu erwarten ist und auch herauskommt.<br />
(Zeile 7 ist diejenige die mit &quot;vector&lt;int&gt;&quot; beginnt.)</p>
<p>Das Problem bleibt analog bestehen, wenn ich<br />
a) &quot;vector&quot; durch &quot;list&quot; ersetze,<br />
b) &quot;#include &lt;stdlib.h&gt;&quot; anstelle &quot;#include &lt;vector&gt;&quot; setzte.</p>
<p>Das heißt doch, der Compiler findet die Deklaration der Standard-Container nicht.<br />
Andererseits findet er offenbar die Stdlib, sonst ergäbe das Experiment schließlich eine andere Fehlermeldung.</p>
<p>Ahnt jemand von Euch, was hier passiert und was ich besser machen kann?</p>
<p>Vielen Dank im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047427</guid><dc:creator><![CDATA[tollelege]]></dc:creator><pubDate>Mon, 11 Apr 2011 10:24:48 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Container-Verwendung (stdlib) on Mon, 11 Apr 2011 10:40:00 GMT]]></title><description><![CDATA[<p>tollelege schrieb:</p>
<blockquote>
<pre><code>#include &lt;vector&gt;
int main(){
	vector&lt;int&gt; eee (999);
	return 0;
}
</code></pre>
</blockquote>
<p>Der Code ist laut Standard falsch!<br />
Du suchst:</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
int main()
{
  std::vector&lt;int&gt; foo(123);
  return 0;
}
</code></pre>
<p>MfG, EOutOfResources</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047436</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Mon, 11 Apr 2011 10:40:00 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Container-Verwendung (stdlib) on Mon, 11 Apr 2011 10:47:51 GMT]]></title><description><![CDATA[<p>Tatsächlich, vielen Dank!</p>
<p>Frage am Rande: Ich dachte, auf Vector, List usw. könne ich auch zugreifen, wenn ich &quot;stdlib.h&quot; inkludiere statt &quot;vector&quot;. Wieso funktioniert das nicht? Was liefert mir stdlib.h denn allein (ohne weitere includes)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047442</guid><dc:creator><![CDATA[tollelege]]></dc:creator><pubDate>Mon, 11 Apr 2011 10:47:51 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Container-Verwendung (stdlib) on Mon, 11 Apr 2011 10:50:43 GMT]]></title><description><![CDATA[<p>tollelege schrieb:</p>
<blockquote>
<p>Was liefert mir stdlib.h denn allein (ohne weitere includes)?</p>
</blockquote>
<p>Naja, in C++ sollte es <code>&lt;cstdlib&gt;</code> heissen.<br />
Und er bringt <a href="http://www.cplusplus.com/reference/clibrary/cstdlib/" rel="nofollow">das</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047443</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Mon, 11 Apr 2011 10:50:43 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Container-Verwendung (stdlib) on Mon, 11 Apr 2011 10:51:27 GMT]]></title><description><![CDATA[<p><a href="http://www.cplusplus.com/reference/clibrary/cstdlib/" rel="nofollow">http://www.cplusplus.com/reference/clibrary/cstdlib/</a></p>
<p>Edit: zu spät...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047444</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Mon, 11 Apr 2011 10:51:27 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Container-Verwendung (stdlib) on Mon, 11 Apr 2011 11:00:08 GMT]]></title><description><![CDATA[<p>Vielen Dank Euch beiden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047452</guid><dc:creator><![CDATA[tollelege]]></dc:creator><pubDate>Mon, 11 Apr 2011 11:00:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Container-Verwendung (stdlib) on Mon, 11 Apr 2011 12:01:31 GMT]]></title><description><![CDATA[<p>tollelege schrieb:</p>
<blockquote>
<p>Frage am Rande: Ich dachte, auf Vector, List usw. könne ich auch zugreifen, wenn ich &quot;stdlib.h&quot; inkludiere statt &quot;vector&quot;. Wieso funktioniert das nicht? Was liefert mir stdlib.h denn allein (ohne weitere includes)?</p>
</blockquote>
<p>Grundsätzlich:</p>
<p>Vom C++ Standard her kannst du nur selten annehmen, das ein Header einen anderen automatisch mit inkludiert, und dies bei einer anderer Umsetzung der Standardbibliothek genauso ist.</p>
<p>Des weiteren sind Header die alle anderen einer Bibliothek automatisch umfassen, auch von der Compilezeit her problematisch, und man sollte es lieber nicht mit so etwas übertreiben. Daher gibt es auch keinen vorgegebenen Header, der die gesamte C++ Standardbibliothek umfasst.</p>
<p>Zudem gibt es im C++ Standard keine Headerendung, und alles liegt im Namensraum std. Wenn du in einem C++ Buch oder Skript eine Headerendung für einen Header der Standardbibliothek siehst, so ist das Buch mit hoher Sicherheit für die Runde Papierablage (=&gt; Papierkorb) geeignet und inhaltlich veraltet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047488</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 11 Apr 2011 12:01:31 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Container-Verwendung (stdlib) on Mon, 11 Apr 2011 12:04:09 GMT]]></title><description><![CDATA[<p>Übrigens, um asc zu ergänzen, solltest Du auch bei Deinen eigenen Codings immer alle benötigten Header inkludieren ohne Dich darauf zu verlassen, dass Header A den Header B schon einfügt. Wenn A B nämlich nicht mehr braucht, hast Du plötzlich in deiner inkludierenden Datei dein B nicht mehr. Sehr unnötig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047493</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Mon, 11 Apr 2011 12:04:09 GMT</pubDate></item></channel></rss>