<?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[va_arg]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>bin relativ ein C++-Newbie und braeuchte eure Hilfe bei dieser Schulaufgabe.</p>
<p>In dieser Methode gibt es eine Exception, und ich weiss nicht wieso:</p>
<pre><code class="language-cpp">void checkTier(Tiergruppe* familie, string tier, ...)
{
	HaustierBasis* endTier = 0;
	string object = tier;
	va_list Parameter;			// Zeiger auf Argumentliste 
	va_start(Parameter, tier);	// gehe zur ersten Position der Liste
	while(object != &quot;0&quot;)		// Schleife, solange Uebergabeparameter nicht 0
	{
		endTier = familie-&gt;getTier(object);
		object = va_arg(Parameter, string); // nächstes Argument an object zuweisen, Typ string
	}
	if(endTier == 0)
	{
		cout &lt;&lt; &quot;n.a.&quot; &lt;&lt; endl;
	}
	else
	{
		cout &lt;&lt; endTier-&gt;getBesitzer() &lt;&lt; endl;
	}
}
</code></pre>
<p>Kann mir da jemand weiterhelfen? Danke schon im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/199727/va_arg</link><generator>RSS for Node</generator><lastBuildDate>Sat, 03 Oct 2026 19:18:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/199727.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Dec 2007 14:08:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to va_arg on Thu, 06 Dec 2007 14:08:37 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>bin relativ ein C++-Newbie und braeuchte eure Hilfe bei dieser Schulaufgabe.</p>
<p>In dieser Methode gibt es eine Exception, und ich weiss nicht wieso:</p>
<pre><code class="language-cpp">void checkTier(Tiergruppe* familie, string tier, ...)
{
	HaustierBasis* endTier = 0;
	string object = tier;
	va_list Parameter;			// Zeiger auf Argumentliste 
	va_start(Parameter, tier);	// gehe zur ersten Position der Liste
	while(object != &quot;0&quot;)		// Schleife, solange Uebergabeparameter nicht 0
	{
		endTier = familie-&gt;getTier(object);
		object = va_arg(Parameter, string); // nächstes Argument an object zuweisen, Typ string
	}
	if(endTier == 0)
	{
		cout &lt;&lt; &quot;n.a.&quot; &lt;&lt; endl;
	}
	else
	{
		cout &lt;&lt; endTier-&gt;getBesitzer() &lt;&lt; endl;
	}
}
</code></pre>
<p>Kann mir da jemand weiterhelfen? Danke schon im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1415878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1415878</guid><dc:creator><![CDATA[Kernighan]]></dc:creator><pubDate>Thu, 06 Dec 2007 14:08:37 GMT</pubDate></item><item><title><![CDATA[Reply to va_arg on Thu, 06 Dec 2007 14:12:29 GMT]]></title><description><![CDATA[<p>Dein größtes Problem ist, dass variable Argumentlisten kein eingebautes Ende-Kennzeichen oder Zähler haben. Schon garnicht den String &quot;0&quot;. Du musst die Anzahl der Parameter übergeben, um sie durchzuzählen.</p>
<p>Dazu kommt dann, dass Du via &quot;...&quot; keine Objekte übergeben darfst, nur PODs. Du versuchst hier aber Strings aus der variablen Argumentliste zu lesen.</p>
<p>Noch besser wäre es natürlich, auf die Ellipse gleich zu verzichten. Ellipsen in C++ stinken gewaltig <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1415885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1415885</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 06 Dec 2007 14:12:29 GMT</pubDate></item><item><title><![CDATA[Reply to va_arg on Thu, 06 Dec 2007 14:11:56 GMT]]></title><description><![CDATA[<p>Die Ellipsen hat C++ von C geerbt - die kommen leider nicht besonders gut mit C++ Datentypen (wie std::string) zurecht. Das ist wohl eine der wenigen Situationen, wo du mit char* besser beraten bist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1415888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1415888</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 06 Dec 2007 14:11:56 GMT</pubDate></item><item><title><![CDATA[Reply to va_arg on Thu, 06 Dec 2007 15:01:34 GMT]]></title><description><![CDATA[<p>OK, danke vielmals, haette gedacht ich muesste viel laenger auf eine Antwort warten, ging ja recht zackig hier <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="🙂"
    /> . Es hat uebrigens geklappt mit char*, werde die Ellipse in Zukunft versuchen zu vermeiden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1415924</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1415924</guid><dc:creator><![CDATA[Kernighan]]></dc:creator><pubDate>Thu, 06 Dec 2007 15:01:34 GMT</pubDate></item><item><title><![CDATA[Reply to va_arg on Thu, 06 Dec 2007 15:37:39 GMT]]></title><description><![CDATA[<p>Kernighan schrieb:</p>
<blockquote>
<p>...werde die Ellipse in Zukunft versuchen zu vermeiden.</p>
</blockquote>
<p>Ist eine gute Entscheidung !!</p>
<p>Sooo stark limitiert einen das übrigens nicht, da man sowieso in den allermeisten Fällen &quot;ähnliche&quot; Objekte (derselbe Typ oder zumindestens gemeinsame Basisklasse) übergibt ... und dafür gibt's ja die Container wie vector&amp;Co, die eine beliebige Anzahl von Objekten aufnehmen können.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1415954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1415954</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 06 Dec 2007 15:37:39 GMT</pubDate></item><item><title><![CDATA[Reply to va_arg on Thu, 06 Dec 2007 16:53:29 GMT]]></title><description><![CDATA[<p>Oder man guckt sich mal an, wie es in boost::format gemacht ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1416008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1416008</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 06 Dec 2007 16:53:29 GMT</pubDate></item></channel></rss>