<?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[Struct Daten an eine Funktion übergeben]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte mit einer Funktion Daten in einer Struktur speicher. Jedoch kann ich der Funktion nicht Meier.Bestellungen übergeben, da ich immer den Fehler bekomme, das diese nicht initialisiert ist. Wenn ich es aber mit einem Wert initialisiere habe ich an der Nullten Stelle immer meinen Init Wert stehen, den ich eigentlich garnicht brauche. Kann man der Funktion auch den Namen zu meiner Struktur als reinen String übergeben und Ihn dann für die pushback Zuweisung nutzen?</p>
<p>Dazu habe ich mal folgendes Bsp gemacht um mein Problem zu zeigen.</p>
<pre><code class="language-cpp">struct Bestelldaten_struct
{
	string name;
	vector&lt;std::string&gt; Bestellungen;
}
Meier,
Müller,
Schulze;


void DatenZuweisen(vector&lt;std::string&gt; BestellDetails, vector&lt;std::string&gt; BestellDaten)
{
	for (unsigned int i = 1; i &lt; BestellDetails.size(); i++)
	{
		BestellDaten.push_back(BestellDetails[i]);
	}
}


int main(int argc, char* argv[])
{
	.....

	DatenZuweisen(BestellDetails, Meier.Besetellungen)


	.....
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/348696/struct-daten-an-eine-funktion-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Apr 2026 00:38:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/348696.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Dec 2018 13:02:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Struct Daten an eine Funktion übergeben on Tue, 18 Dec 2018 13:07:57 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte mit einer Funktion Daten in einer Struktur speicher. Jedoch kann ich der Funktion nicht Meier.Bestellungen übergeben, da ich immer den Fehler bekomme, das diese nicht initialisiert ist. Wenn ich es aber mit einem Wert initialisiere habe ich an der Nullten Stelle immer meinen Init Wert stehen, den ich eigentlich garnicht brauche. Kann man der Funktion auch den Namen zu meiner Struktur als reinen String übergeben und Ihn dann für die pushback Zuweisung nutzen?</p>
<p>Dazu habe ich mal folgendes Bsp gemacht um mein Problem zu zeigen.</p>
<pre><code class="language-cpp">struct Bestelldaten_struct
{
	string name;
	vector&lt;std::string&gt; Bestellungen;
}
Meier,
Müller,
Schulze;


void DatenZuweisen(vector&lt;std::string&gt; BestellDetails, vector&lt;std::string&gt; BestellDaten)
{
	for (unsigned int i = 1; i &lt; BestellDetails.size(); i++)
	{
		BestellDaten.push_back(BestellDetails[i]);
	}
}


int main(int argc, char* argv[])
{
	.....

	DatenZuweisen(BestellDetails, Meier.Besetellungen)


	.....
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2567252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2567252</guid><dc:creator><![CDATA[Ollom]]></dc:creator><pubDate>Tue, 18 Dec 2018 13:07:57 GMT</pubDate></item><item><title><![CDATA[Reply to Struct Daten an eine Funktion übergeben on Tue, 18 Dec 2018 13:33:37 GMT]]></title><description><![CDATA[<ol>
<li>poste kompilierbare Beispiele, oder zumindest solche, in denen nur der Fehler auftritt, den du selbst nicht lösen kannst. In deinem Beispiel fehlen alle Includes und die Datentypen der STL sind nicht qualifiziert.</li>
</ol>
<p>Hier dein korrigierter Quelltext, <a href="https://ideone.com/HKyzCB" rel="nofollow">kompiliert </a> ohne Fehler:</p>
<pre><code class="language-C++">#include &lt;string&gt;
#include &lt;vector&gt;

struct Bestelldaten_struct
{
   std::string name;
   std::vector&lt;std::string&gt; Bestellungen;
}
Meier,
Mueller,
Schulze;


void DatenZuweisen( std::vector&lt;std::string&gt; BestellDetails, std::vector&lt;std::string&gt; BestellDaten)
{
   for (unsigned int i = 1; i &lt; BestellDetails.size(); i++)
   {
      BestellDaten.push_back(BestellDetails[i]);
   }
}

int main(int argc, char* argv[])
{
   std::vector&lt;std::string&gt; BestellDetails;
   DatenZuweisen(BestellDetails, Meier.Bestellungen);
}
</code></pre>
<p>Bist du sicher, dass du die Parameter per <em>value</em> übergeben willst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2567253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2567253</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Tue, 18 Dec 2018 13:33:37 GMT</pubDate></item><item><title><![CDATA[Reply to Struct Daten an eine Funktion übergeben on Tue, 18 Dec 2018 14:04:05 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19526">@Ollom</a></p>
<blockquote>
<p>da ich immer den Fehler bekomme, das diese nicht initialisiert ist</p>
</blockquote>
<p>Fehlermeldung: Copy&amp;Paste.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2567254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2567254</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Tue, 18 Dec 2018 14:04:05 GMT</pubDate></item><item><title><![CDATA[Reply to Struct Daten an eine Funktion übergeben on Tue, 18 Dec 2018 14:15:34 GMT]]></title><description><![CDATA[<p>Habe den eigentlichen Fehler gefunden. Manchmal muss man nur die Fehlermeldung richtig lesen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61f.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--worried_face"
      title=":worried_face:"
      alt="😟"
    />  Trotzdem Danke für die schnelle Antwort.</p>
<p>Was meinst du mit per Value übergeben? Soll ich eher einen Pointer draus machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2567255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2567255</guid><dc:creator><![CDATA[Ollom]]></dc:creator><pubDate>Tue, 18 Dec 2018 14:15:34 GMT</pubDate></item><item><title><![CDATA[Reply to Struct Daten an eine Funktion übergeben on Tue, 18 Dec 2018 15:43:38 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19526">@Ollom</a><br />
Nein. Ich hab keine Ahnung, was deine Funktion machen soll und was du hinterher mit dem Ergebnis anstellen willst, aber um einen <code>std::vector</code> als Kopie zu übergeben ist in den meisten Übungsaufgaben nicht richtig.</p>
<p>Nachtrag:<br />
Warum machst du das von Hand? Deutlich effizienter geht das über die <code>insert</code> Methode von <code>std::vector</code>. Und wird das erste Element beim Kopieren tatsächlich ignoriert?</p>
<pre><code class="language-C++">int main(int argc, char* argv[])
{
   std::vector&lt;std::string&gt; BestellDetails;
   if( !Meier.Bestellungen.empty() )
   {
      BestellDetails.insert( BestellDetails.end(), Meier.Bestellungen.begin() +1, Meier.Bestellungen.end() );
      // oder
      BestellDetails.assign( Meier.Bestellungen.begin() +1, Meier.Bestellungen.end() );
   }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2567256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2567256</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Tue, 18 Dec 2018 15:43:38 GMT</pubDate></item><item><title><![CDATA[Reply to Struct Daten an eine Funktion übergeben on Tue, 18 Dec 2018 15:40:47 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19526">@Ollom</a>: Wenn sich das übergebene Argument verändern soll, dann solltest du Referenzen (<code>&amp;</code>) benutzen:</p>
<pre><code class="language-cpp">void DatenZuweisen(vector&lt;std::string&gt; BestellDetails, vector&lt;std::string&gt; &amp; BestellDaten)
</code></pre>
<p>Und falls ein Parameter nur gelesen werden soll, dann verwende <code>const</code>:</p>
<pre><code class="language-cpp">void DatenZuweisen(const vector&lt;std::string&gt; BestellDetails, vector&lt;std::string&gt; &amp; BestellDaten)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2567257</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2567257</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Tue, 18 Dec 2018 15:40:47 GMT</pubDate></item></channel></rss>