<?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[string zwischen Funktionen übergeben]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte durch eine Auswahl zwei jeweils verschiedene strings übergeben. Hier der Code, zur Auswahl und zu Übergabe der strings:</p>
<pre><code>#include &lt;iostream.h&gt;

int  Menueanzeige_eingabe();
void Eingabe();

void Menue_fuer_eingabe()
{
	bool exit = false;
    for (;;)
    {
		int Auswahl = Menueanzeige_eingabe();
        switch(Auswahl)
        {
			case (1):
               Eingabe(&quot;torhueter.txt&quot;, &quot;Torhueter&quot;);
               break;

			case (2):
               Eingabe(&quot;verteidiger.txt&quot;, &quot;Verteidiger&quot;);
               break;
</code></pre>
<p>In Zweile 4 wird die Funktion void Eingabe() definiert. In Zeile 16 soll er im case 1, was durch den Benutzer geschieht, den string &quot;torhueter.txt&quot; und &quot;Torhueter&quot; übergeben. Im case 2 eben die ganze Sache mit Verteidiger (insgesamt gibt es 4 cases). Zum Aufruf der Funktion void Eingabe() in einer anderen Header Datei verwende ich folgenden Code:</p>
<pre><code>void Eingabe(string dateiname, string position)
{
	ofstream dat_aus;													/
	dat_aus.open(dateiname.c_str(), ios_base::out);					

	int i,n;

	cout &lt;&lt; &quot;Wieviele &quot; &lt;&lt; position &lt;&lt; &quot; sollen eingegeben werden: &quot;;
	cin &gt;&gt; n;
</code></pre>
<p>Allerdings mache ich scheinbar einen dummen Fehler, auf den ich nicht komme, denn bim Kompilieren gibt er mir folgenden Fehler aus:</p>
<p>menue_fuer_eingabe.h(20) : error C2660: 'Eingabe' : Funktion akzeptiert keine 2 Parameter</p>
<p>Kann mir jemand den Fehler nennen, der ich hier mache? Bzw ne Lösung, wie ich es besser mache...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/166005/string-zwischen-funktionen-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 04:22:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/166005.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 25 Nov 2006 08:07:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to string zwischen Funktionen übergeben on Sat, 25 Nov 2006 08:07:24 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte durch eine Auswahl zwei jeweils verschiedene strings übergeben. Hier der Code, zur Auswahl und zu Übergabe der strings:</p>
<pre><code>#include &lt;iostream.h&gt;

int  Menueanzeige_eingabe();
void Eingabe();

void Menue_fuer_eingabe()
{
	bool exit = false;
    for (;;)
    {
		int Auswahl = Menueanzeige_eingabe();
        switch(Auswahl)
        {
			case (1):
               Eingabe(&quot;torhueter.txt&quot;, &quot;Torhueter&quot;);
               break;

			case (2):
               Eingabe(&quot;verteidiger.txt&quot;, &quot;Verteidiger&quot;);
               break;
</code></pre>
<p>In Zweile 4 wird die Funktion void Eingabe() definiert. In Zeile 16 soll er im case 1, was durch den Benutzer geschieht, den string &quot;torhueter.txt&quot; und &quot;Torhueter&quot; übergeben. Im case 2 eben die ganze Sache mit Verteidiger (insgesamt gibt es 4 cases). Zum Aufruf der Funktion void Eingabe() in einer anderen Header Datei verwende ich folgenden Code:</p>
<pre><code>void Eingabe(string dateiname, string position)
{
	ofstream dat_aus;													/
	dat_aus.open(dateiname.c_str(), ios_base::out);					

	int i,n;

	cout &lt;&lt; &quot;Wieviele &quot; &lt;&lt; position &lt;&lt; &quot; sollen eingegeben werden: &quot;;
	cin &gt;&gt; n;
</code></pre>
<p>Allerdings mache ich scheinbar einen dummen Fehler, auf den ich nicht komme, denn bim Kompilieren gibt er mir folgenden Fehler aus:</p>
<p>menue_fuer_eingabe.h(20) : error C2660: 'Eingabe' : Funktion akzeptiert keine 2 Parameter</p>
<p>Kann mir jemand den Fehler nennen, der ich hier mache? Bzw ne Lösung, wie ich es besser mache...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1181072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1181072</guid><dc:creator><![CDATA[c++er]]></dc:creator><pubDate>Sat, 25 Nov 2006 08:07:24 GMT</pubDate></item><item><title><![CDATA[Reply to string zwischen Funktionen übergeben on Sat, 25 Nov 2006 08:36:40 GMT]]></title><description><![CDATA[<p>wenn du void Eingabe(); (bei der Deklaration) schreibst erwartet C++ auch (im Gegensatz zu C, wenn ich mich richtig erinnere) keinen Parameter. (bei Cs hieß es glaub ich, dass beliebig viele Paramter übergeben werden können) Du übergibst 2, er erwartet 0, ergo funktionniert es nicht.</p>
<p>funktionnieren sollte:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
void Eingabe(std::string s1,std::string s2);
</code></pre>
<p>Anfängerantwort, Vertrauen bitte erst nach Bestätigung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1181074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1181074</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Sat, 25 Nov 2006 08:36:40 GMT</pubDate></item><item><title><![CDATA[Reply to string zwischen Funktionen übergeben on Sat, 25 Nov 2006 09:16:19 GMT]]></title><description><![CDATA[<p>Danke Shinja!</p>
<p>Hat irgendwie nicht ganz damit funktioniert, aber du hast mich auf den richtigen weg gebracht! Ich hab nun folgenden Quellcode in meinem Menü:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

int  Menueanzeige_eingabe();
void Eingabe(string a, string b);

void Menue_fuer_eingabe()
{
	bool exit = false;
    for (;;)
    {
		int Auswahl = Menueanzeige_eingabe();
        switch(Auswahl)
        {
			case (1):
               Eingabe(&quot;torhueter.txt&quot;, &quot;Torhueter&quot;);
               break;

			case (2):
               Eingabe(&quot;verteidiger.txt&quot;, &quot;Verteidiger&quot;);
               break;
</code></pre>
<p>Damit funktioniert es nun!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1181084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1181084</guid><dc:creator><![CDATA[c++er]]></dc:creator><pubDate>Sat, 25 Nov 2006 09:16:19 GMT</pubDate></item><item><title><![CDATA[Reply to string zwischen Funktionen übergeben on Sat, 25 Nov 2006 09:48:09 GMT]]></title><description><![CDATA[<p>Eine Kleinigkeit noch:</p>
<pre><code class="language-cpp">void Eingabe( std::string const&amp; a, std::string const&amp; b);
</code></pre>
<p>Ist einen Hauch effizienter, da die Strings nicht kopiert werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1181093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1181093</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Sat, 25 Nov 2006 09:48:09 GMT</pubDate></item><item><title><![CDATA[Reply to string zwischen Funktionen übergeben on Sat, 25 Nov 2006 10:02:28 GMT]]></title><description><![CDATA[<p>Hmm, aber da bekomme ich folgenden Fehler:</p>
<blockquote>
<p>error LNK2001: Nichtaufgeloestes externes Symbol &quot;void __cdecl Eingabe(class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,(...)</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1181097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1181097</guid><dc:creator><![CDATA[c++er]]></dc:creator><pubDate>Sat, 25 Nov 2006 10:02:28 GMT</pubDate></item><item><title><![CDATA[Reply to string zwischen Funktionen übergeben on Sat, 25 Nov 2006 10:20:07 GMT]]></title><description><![CDATA[<p>Deine Definition muss dann natürlich auch mit Referenzen auf konstante Strings arbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1181108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1181108</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sat, 25 Nov 2006 10:20:07 GMT</pubDate></item><item><title><![CDATA[Reply to string zwischen Funktionen übergeben on Sat, 25 Nov 2006 10:36:40 GMT]]></title><description><![CDATA[<p>finix schrieb:</p>
<blockquote>
<p>Eine Kleinigkeit noch:</p>
<pre><code class="language-cpp">void Eingabe( std::string const&amp; a, std::string const&amp; b);
</code></pre>
<p>Ist einen Hauch effizienter, da die Strings nicht kopiert werden.</p>
</blockquote>
<p>Naja, optimistisch gesehen, ist der std::string mit Copy-on-Write implementiert. Sollte zumindest eine gut implementierte Std-Lib leisten. Von daher wäre ein No-Ref-Parameter kein Beinbruch, wenn man Refs aus reinen Performance-Gründen wählt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1181120</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1181120</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Sat, 25 Nov 2006 10:36:40 GMT</pubDate></item><item><title><![CDATA[Reply to string zwischen Funktionen übergeben on Sat, 25 Nov 2006 11:14:55 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Naja, optimistisch gesehen, ist der std::string mit Copy-on-Write implementiert. Sollte zumindest eine gut implementierte Std-Lib leisten. Von daher wäre ein No-Ref-Parameter kein Beinbruch, wenn man Refs aus reinen Performance-Gründen wählt.</p>
</blockquote>
<p>Naja, realistisch gesehen macht der Standard keinerlei Vorgaben zu COW. Von daher hast du keine Ahnung wie's in der nächsten Version deiner Implementation aussieht, oder bei der Implementation deines Nachbarn, oder was sonst noch eine Rolle spielen könnte.</p>
<p>Außerdem: <a href="https://www.google.de/search?&amp;q=Copy-on-Write%20multi-threaded" rel="nofollow">Google: Copy-on-Write multi-threaded</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1181139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1181139</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Sat, 25 Nov 2006 11:14:55 GMT</pubDate></item></channel></rss>