<?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 der übergabe eines Strings...]]></title><description><![CDATA[<p>Ich habe diese KLasse hier-&gt;</p>
<pre><code class="language-cpp">#include &lt;vector&gt;

typedef struct
{
	char *line;
	int x,y;
	bool remove;
}textobj;

class Text
{
public:
	void Add(int x, int y, char *text);

	std::vector&lt;textobj&gt; Output;
};

extern Text PrintOnScreen;
</code></pre>
<p>Ich habe dann ein Objekt Objekt der Klasse Text Global erstellt und greife nun aus anderen Klassen auf diese Klasse zu, nur irgendwie kann ich keine Strings übergeben!<br />
Wenn ich schreibe</p>
<pre><code class="language-cpp">PrintOnScreen.Add(10,300,&quot;dumm&quot;);
</code></pre>
<p>funzt das noch ... wenn ich aber schreibe</p>
<pre><code class="language-cpp">PrintOnScreen.Add(10,300,tempout); //tempout ist char[30]
</code></pre>
<p>Funktioniert das nicht !<br />
Wenn ich das allerdings aus der main funktion raus mache funktioniert das ...<br />
Kann mir einer sagen warum ? Und wie ich das Problem beheben kann ???</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/142327/problem-bei-der-übergabe-eines-strings</link><generator>RSS for Node</generator><lastBuildDate>Tue, 01 Sep 2026 17:53:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/142327.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Mar 2006 15:07:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem bei der übergabe eines Strings... on Wed, 29 Mar 2006 15:07:29 GMT]]></title><description><![CDATA[<p>Ich habe diese KLasse hier-&gt;</p>
<pre><code class="language-cpp">#include &lt;vector&gt;

typedef struct
{
	char *line;
	int x,y;
	bool remove;
}textobj;

class Text
{
public:
	void Add(int x, int y, char *text);

	std::vector&lt;textobj&gt; Output;
};

extern Text PrintOnScreen;
</code></pre>
<p>Ich habe dann ein Objekt Objekt der Klasse Text Global erstellt und greife nun aus anderen Klassen auf diese Klasse zu, nur irgendwie kann ich keine Strings übergeben!<br />
Wenn ich schreibe</p>
<pre><code class="language-cpp">PrintOnScreen.Add(10,300,&quot;dumm&quot;);
</code></pre>
<p>funzt das noch ... wenn ich aber schreibe</p>
<pre><code class="language-cpp">PrintOnScreen.Add(10,300,tempout); //tempout ist char[30]
</code></pre>
<p>Funktioniert das nicht !<br />
Wenn ich das allerdings aus der main funktion raus mache funktioniert das ...<br />
Kann mir einer sagen warum ? Und wie ich das Problem beheben kann ???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1026587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026587</guid><dc:creator><![CDATA[Mortal2006]]></dc:creator><pubDate>Wed, 29 Mar 2006 15:07:29 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei der übergabe eines Strings... on Wed, 29 Mar 2006 15:25:36 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Du kannst das Problem ganz einfach beheben, indem du string statt char* verwendest.<br />
Du übergibst hier an deinen vector einen Pointer auf char, der später evtl. ungültig ist. D.h. du kopierst nur Pointer und keine strings. Im ersten Fall übergibst du ein Stringliteral, welches im Programmablauf gültig bleibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1026596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026596</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 29 Mar 2006 15:25:36 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei der übergabe eines Strings... on Wed, 29 Mar 2006 15:34:34 GMT]]></title><description><![CDATA[<p>Hmm<br />
Ach verdammt... das mit den Pointern war mir eigentlich klar nur jetzt ist mir aufgefallen warum er ungültig wird ... ich rufe das ganze ja aus einer Funktion auf ... MIST! <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>Und bei diesem &quot;&quot; übergibt er also automatisch den ganzen string ?<br />
Baut der Compiler das da irgendwie um? Ist ja irgendwie unlogisch denn irgendwo müssen die daten ja auch bleiben...</p>
<p>Edit: DANKE! <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/1026603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026603</guid><dc:creator><![CDATA[Mortal2006]]></dc:creator><pubDate>Wed, 29 Mar 2006 15:34:34 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei der übergabe eines Strings... on Wed, 29 Mar 2006 15:35:57 GMT]]></title><description><![CDATA[<p>Nein der Compiler übergibt einen Zeiger auf einen konstanten String. Wenn im Quelltext &quot;blabla&quot; steht packt der Compiler das in ne Tabelle die während des Programmablaufs konstant bleibt, und gibt Dir einen Zeiger in diese Tabelle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1026604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1026604</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 29 Mar 2006 15:35:57 GMT</pubDate></item></channel></rss>