<?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[error: ISO C++ forbids declaration of &#x27;vector&#x27; with no type]]></title><description><![CDATA[<p>Hallo. Ich muss mich an der Uni wieder einmal seit langem mit C++ rumschlagen. Dabei erhalte ich immer denselben Fehler und komme einfach nicht weiter: <strong>error: ISO C++ forbids declaration of 'vector' with no type</strong>. Meiner Meinung nach ist der Typ des vectors aber definiert.</p>
<p>Vielleicht könnt ihr mir da ja helfen:</p>
<p>process.cpp<br />
<a href="http://nopaste.com/p/aoxhU7W4W" rel="nofollow">http://nopaste.com/p/aoxhU7W4W</a></p>
<p>process.h<br />
<a href="http://nopaste.com/p/aGkeXxPtu" rel="nofollow">http://nopaste.com/p/aGkeXxPtu</a></p>
<p>Ausserdem bin ich mir nicht sicher, ob das Zusammenspiel mit der *.cpp und *.h sowie dem Klassenaufbau so richtig ist. In der Vorlesung hatten wir zum Teil *.cpp.h Dateien, aber baut man das wirklich so auf?</p>
<p>Vielen Dank für eure Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/250879/error-iso-c-forbids-declaration-of-vector-with-no-type</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 19:42:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/250879.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 Sep 2009 15:35:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to error: ISO C++ forbids declaration of &#x27;vector&#x27; with no type on Fri, 25 Sep 2009 15:35:28 GMT]]></title><description><![CDATA[<p>Hallo. Ich muss mich an der Uni wieder einmal seit langem mit C++ rumschlagen. Dabei erhalte ich immer denselben Fehler und komme einfach nicht weiter: <strong>error: ISO C++ forbids declaration of 'vector' with no type</strong>. Meiner Meinung nach ist der Typ des vectors aber definiert.</p>
<p>Vielleicht könnt ihr mir da ja helfen:</p>
<p>process.cpp<br />
<a href="http://nopaste.com/p/aoxhU7W4W" rel="nofollow">http://nopaste.com/p/aoxhU7W4W</a></p>
<p>process.h<br />
<a href="http://nopaste.com/p/aGkeXxPtu" rel="nofollow">http://nopaste.com/p/aGkeXxPtu</a></p>
<p>Ausserdem bin ich mir nicht sicher, ob das Zusammenspiel mit der *.cpp und *.h sowie dem Klassenaufbau so richtig ist. In der Vorlesung hatten wir zum Teil *.cpp.h Dateien, aber baut man das wirklich so auf?</p>
<p>Vielen Dank für eure Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1784251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784251</guid><dc:creator><![CDATA[sili]]></dc:creator><pubDate>Fri, 25 Sep 2009 15:35:28 GMT</pubDate></item><item><title><![CDATA[Reply to error: ISO C++ forbids declaration of &#x27;vector&#x27; with no type on Fri, 25 Sep 2009 15:41:19 GMT]]></title><description><![CDATA[<p>In der Klassendefinition muss die (4) weg, hier gibst du nur die Member-Variablen an, initialisieren tut man diese im Konstruktor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1784254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784254</guid><dc:creator><![CDATA[Tippgeber]]></dc:creator><pubDate>Fri, 25 Sep 2009 15:41:19 GMT</pubDate></item><item><title><![CDATA[Reply to error: ISO C++ forbids declaration of &#x27;vector&#x27; with no type on Fri, 25 Sep 2009 15:46:27 GMT]]></title><description><![CDATA[<p>Tippgeber schrieb:</p>
<blockquote>
<p>In der Klassendefinition muss die (4) weg, hier gibst du nur die Member-Variablen an, initialisieren tut man diese im Konstruktor.</p>
</blockquote>
<p>Wenn ich stattdessen einfach <code>vector&lt;Data&gt; db;</code> schreibe, ändert das aber auch nichts an der Fehlermeldung. Oder wie meinst du das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1784258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784258</guid><dc:creator><![CDATA[sili]]></dc:creator><pubDate>Fri, 25 Sep 2009 15:46:27 GMT</pubDate></item><item><title><![CDATA[Reply to error: ISO C++ forbids declaration of &#x27;vector&#x27; with no type on Fri, 25 Sep 2009 15:47:37 GMT]]></title><description><![CDATA[<p>Probleme in Deiner .h-Datei:<br />
- Es gibt keine Headerdatei namens &quot;String&quot; (mit großem S beginnent).<br />
- <strong>vector (in Definition von Process) nicht mit std:: qualifiziert</strong><br />
- Initialisierung von db muss im Konstruktor erfolgen, nicht bei der Elementdefinition.<br />
- Destruktor in Process ist überflüssig</p>
<p>Probleme in Deiner .cpp-Datei:<br />
- Du setzt einfach argv[1] und argv[2]. Woher weißt du, dass es die gibt? Du hast argc vorher nicht überprüft. Ich bin mir nicht mal sicher, ob man die Zeiger im Array überhaupt ändern darf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1784260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784260</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Fri, 25 Sep 2009 15:47:37 GMT</pubDate></item><item><title><![CDATA[Reply to error: ISO C++ forbids declaration of &#x27;vector&#x27; with no type on Fri, 25 Sep 2009 16:09:47 GMT]]></title><description><![CDATA[<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>Probleme in Deiner .h-Datei:<br />
- Es gibt keine Headerdatei namens &quot;String&quot; (mit großem S beginnent).<br />
- <strong>vector (in Definition von Process) nicht mit std:: qualifiziert</strong></p>
</blockquote>
<p>Danke, Die Fehlermeldung ist schon Mal weg <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>- Initialisierung von db muss im Konstruktor erfolgen, nicht bei der Elementdefinition.</p>
</blockquote>
<p>Was heisst das konkret? Db ist doch ein Klassenattribut und soll es auch bleiben.</p>
<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>- Destruktor in Process ist überflüssig</p>
</blockquote>
<p>Das ist in der Aufgabe so vorgegeben <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>
<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>Probleme in Deiner .cpp-Datei:<br />
- Du setzt einfach argv[1] und argv[2]. Woher weißt du, dass es die gibt? Du hast argc vorher nicht überprüft. Ich bin mir nicht mal sicher, ob man die Zeiger im Array überhaupt ändern darf.</p>
</blockquote>
<p>Das bringt mich schon auf die nächste Frage <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="😉"
    /><br />
In der Aufgabe ist der Aufruf der Methoden mit <code>proc-&gt;readFile( argv[1] );</code> vorgegeben. Da ich aber nicht weiss, wie ich die Argumente der main() Funktion angeben kann, habe ich das temporär mal so gelöst. Ich arbeite mit Xcode, wie kann ich diese Argumente dort angeben?</p>
<p>Und noch eine weitere Frage:</p>
<pre><code class="language-cpp">while (in.good()) {
		int id;
		in &gt;&gt; id;

		string value;
		in &gt;&gt; value;

		//db.push_back()
	}
</code></pre>
<p>Wie kann ich die Variablen id und value nun dem <code>vector&lt;Data&gt; db;</code> zuweisen? Einfach so über db.push_back() funktioniert das ja nicht.</p>
<p>edit: Die letzte Frage hat sich erledigt, habs gerade selbst rausgefunden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<pre><code class="language-cpp">Data datapair = {id, value};
		db.push_back(datapair);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1784268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784268</guid><dc:creator><![CDATA[sili]]></dc:creator><pubDate>Fri, 25 Sep 2009 16:09:47 GMT</pubDate></item><item><title><![CDATA[Reply to error: ISO C++ forbids declaration of &#x27;vector&#x27; with no type on Fri, 25 Sep 2009 18:20:49 GMT]]></title><description><![CDATA[<p>sili schrieb:</p>
<blockquote>
<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>- Initialisierung von db muss im Konstruktor erfolgen, nicht bei der Elementdefinition.</p>
</blockquote>
<p>Was heisst das konkret? Db ist doch ein Klassenattribut und soll es auch bleiben.</p>
</blockquote>
<p>Hier ist ein Beispiel:</p>
<pre><code class="language-cpp">class Klasse
{
   std::vector&lt;int&gt; zahlen;
public:
   Klasse(int x, int y, int z);
};

Klasse::Klasse(int x, int y, int z)
: zahlen(3) // &lt;-- &quot;Initialisierungsliste&quot;
{
  zahlen[0] = x;
  zahlen[1] = y;
  zahlen[2] = z;
}
</code></pre>
<p>sili schrieb:</p>
<blockquote>
<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>Probleme in Deiner .cpp-Datei:<br />
- Du setzt einfach argv[1] und argv[2]. Woher weißt du, dass es die gibt? Du hast argc vorher nicht überprüft. Ich bin mir nicht mal sicher, ob man die Zeiger im Array überhaupt ändern darf.</p>
</blockquote>
<p>Das bringt mich schon auf die nächste Frage <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="😉"
    /><br />
In der Aufgabe ist der Aufruf der Methoden mit <code>proc-&gt;readFile( argv[1] );</code> vorgegeben. Da ich aber nicht weiss, wie ich die Argumente der main() Funktion angeben kann, habe ich das temporär mal so gelöst. Ich arbeite mit Xcode, wie kann ich diese Argumente dort angeben?</p>
</blockquote>
<p>Ich kenne Xcode nicht. In der Kommandozeile kannst Du zumindest Programme mit beliebigen (String-)Parametern aufrufen, die das Betriebssystem an das Programm -- in diesem Fall über argc und argv -- übergibt. Programme sind wie Funktionen benutzbar. Sie nehmen Parameter entgegen und geben einen &quot;Code&quot; zurück, meist 0 für das Signalisieren einer fehlerfreihen Ausführung und sonst irgendwelche Fehlercodes. Du kannst dein Programm über Xcode bestimmt auch mit selbst einstellbaren Parametern starten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1784315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784315</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Fri, 25 Sep 2009 18:20:49 GMT</pubDate></item><item><title><![CDATA[Reply to error: ISO C++ forbids declaration of &#x27;vector&#x27; with no type on Fri, 25 Sep 2009 19:54:41 GMT]]></title><description><![CDATA[<p>Danke für das Beispiel.</p>
<p>Wie man Argumente in Xcode übergeben kann, habe ich inzwischen rausgefunden: Project =&gt; Edit active Executable &quot;PROJECTNAME&quot;.</p>
<p>Und noch eine letzte Frage:</p>
<pre><code class="language-cpp">while (in.good()) {
		int request_id;
		in &gt;&gt; request_id;

		cout &lt;&lt; request_id &lt;&lt; &quot; &quot;;
	}
</code></pre>
<p>Sollte doch eigentlich jede Zeile einmal ausgeben. Allerdings wird die letzte Zeile jeweils doppelt ausgegeben. An was liegt das und wie kann man das beheben?</p>
<p>edit: Habe es jetzt mit einem einfachen <code>if (!in.eof())</code> behoben.</p>
<p>Vielen Dank für deine Hilfe, Sebastian <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1784341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1784341</guid><dc:creator><![CDATA[sili]]></dc:creator><pubDate>Fri, 25 Sep 2009 19:54:41 GMT</pubDate></item></channel></rss>