<?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[Klassenkonstruktion mit new]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe ein kleines (für mich seltsam erscheinendes) Problem:<br />
ich definiere eine Klasse</p>
<blockquote>
<p>class Component1{...};</p>
</blockquote>
<p>die natürlich auch in meiner .cpp datei includiert wird.<br />
möchste ich nun in einer Methode einer lokalen Variable eine neue instanz dieser Klasse zuweisen</p>
<pre><code>_Component1 = new Component1();
</code></pre>
<p>gibt es eine Fehlermeldung.</p>
<blockquote>
<p>conversion from `Package1::Component1*' to non-scalar type `Package1::Component1' requested</p>
</blockquote>
<p>lasse ich das new weg geht alles gut...<br />
syntaktisch ist das new aber doch nicht falsch, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/144420/klassenkonstruktion-mit-new</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 14:50:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/144420.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Apr 2006 07:28:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 07:28:23 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe ein kleines (für mich seltsam erscheinendes) Problem:<br />
ich definiere eine Klasse</p>
<blockquote>
<p>class Component1{...};</p>
</blockquote>
<p>die natürlich auch in meiner .cpp datei includiert wird.<br />
möchste ich nun in einer Methode einer lokalen Variable eine neue instanz dieser Klasse zuweisen</p>
<pre><code>_Component1 = new Component1();
</code></pre>
<p>gibt es eine Fehlermeldung.</p>
<blockquote>
<p>conversion from `Package1::Component1*' to non-scalar type `Package1::Component1' requested</p>
</blockquote>
<p>lasse ich das new weg geht alles gut...<br />
syntaktisch ist das new aber doch nicht falsch, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039496</guid><dc:creator><![CDATA[eem]]></dc:creator><pubDate>Tue, 18 Apr 2006 07:28:23 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 07:35:06 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wenn ich dich richtig verstanden haben dann so</p>
<pre><code class="language-cpp">Component1 *_Component1 = new Component1();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1039500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039500</guid><dc:creator><![CDATA[EEK]]></dc:creator><pubDate>Tue, 18 Apr 2006 07:35:06 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 07:33:42 GMT]]></title><description><![CDATA[<p>Wie hast du denn die Variable &quot;_Component1&quot; definiert?</p>
<p>Für deine new-Konstruktion korrekt wäre:</p>
<pre><code class="language-cpp">Component1* _Component1;//Pointer auf Objekt - wird mit einer Adresse initialisiert
</code></pre>
<p>Die Fehlermeldung deutet auf so etwas hin:</p>
<pre><code class="language-cpp">Component1 _Component1;//Objekt - wird per Konstruktoraufruf direkt gefüllt
</code></pre>
<p>(PS: Denk mal über deine Namenswahl nach - Variablen mit _ sind für den Compiler reserviert)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039501</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 18 Apr 2006 07:33:42 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 07:34:18 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Eher so:</p>
<pre><code class="language-cpp">Component1 *_Component1 = new Component1();
</code></pre>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039502</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039502</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Tue, 18 Apr 2006 07:34:18 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 07:35:20 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>du brauchst nen Zeiger:</p>
<pre><code class="language-cpp">Package1::Component1 *p = new Package1::Component1();  //Allokieren
delete p;  //Freigeben
</code></pre>
<p>siehe auch: <a href="http://tutorial.schornboeck.net/dyn_speicher.htm" rel="nofollow">http://tutorial.schornboeck.net/dyn_speicher.htm</a></p>
<p>MfG</p>
<p>GPC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039503</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Tue, 18 Apr 2006 07:35:20 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 07:36:52 GMT]]></title><description><![CDATA[<p>nicht ganz.</p>
<p>ich deklariere die Variable mit</p>
<pre><code>Component1 _Component1;
</code></pre>
<p>und weise dieser Variable dann später in einer init-Methode eine Instanz zu</p>
<pre><code>_Component1 = new Component1();
</code></pre>
<p>und das schlägt fehl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039505</guid><dc:creator><![CDATA[eem]]></dc:creator><pubDate>Tue, 18 Apr 2006 07:36:52 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 07:38:32 GMT]]></title><description><![CDATA[<p>ja, weil sie kein ZEIGER ist! Deklariere sie als Zeiger und alles ist wunderbar (vorausgesetzt du änderst den Namen und gibst den Speicher wieder frei).</p>
<p>MfG</p>
<p>GPC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039508</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Tue, 18 Apr 2006 07:38:32 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 07:38:53 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Weils falsch ist. Was du brauchst ist ein Zeiger:</p>
<pre><code class="language-cpp">Component1 _Component1;
</code></pre>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039509</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Tue, 18 Apr 2006 07:38:53 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 07:41:36 GMT]]></title><description><![CDATA[<p>kollektives &quot;nimm Zeiger!&quot; posten <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>natürlich klappt jetzt alles, dank euch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039513</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039513</guid><dc:creator><![CDATA[eem]]></dc:creator><pubDate>Tue, 18 Apr 2006 07:41:36 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 07:42:03 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10754">@David_pb</a>:<br />
Dann schreib auch nen Zeiger <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><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12214">@eem</a>:<br />
Component1 _Component1;<br />
Hier ist _Component1 bereits eine konstruierte Instanz, Du brauchst ihr nichts mehr zuweisen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039514</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039514</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 18 Apr 2006 07:42:03 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 07:42:23 GMT]]></title><description><![CDATA[<p>David_pb schrieb:</p>
<blockquote>
<p>Weils falsch ist. Was du brauchst ist ein Zeiger:</p>
<pre><code class="language-cpp">Component1 _Component1;
</code></pre>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
wohl eher</p>
<pre><code class="language-cpp">Component1 *component1;
</code></pre>
<p>MfG</p>
<p>GPC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039515</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Tue, 18 Apr 2006 07:42:23 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 07:49:05 GMT]]></title><description><![CDATA[<p>[quote=&quot;LordJaxom@eem:<br />
Component1 _Component1;<br />
Hier ist _Component1 bereits eine konstruierte Instanz, Du brauchst ihr nichts mehr zuweisen.[/quote]</p>
<p>ah, okay. jetzt ists mir klar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039522</guid><dc:creator><![CDATA[eem]]></dc:creator><pubDate>Tue, 18 Apr 2006 07:49:05 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 09:11:46 GMT]]></title><description><![CDATA[<p>GPC schrieb:</p>
<blockquote>
<p>David_pb schrieb:</p>
<blockquote>
<p>Weils falsch ist. Was du brauchst ist ein Zeiger:</p>
<pre><code class="language-cpp">Component1 _Component1;
</code></pre>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
wohl eher</p>
<pre><code class="language-cpp">Component1 *component1;
</code></pre>
<p>MfG</p>
<p>GPC</p>
</blockquote>
<p>Nein, warum auch? Ich habe mich an seinen Bezeichner gehalten, von daher...</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039582</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Tue, 18 Apr 2006 09:11:46 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 09:15:16 GMT]]></title><description><![CDATA[<p>äh, doch. Du hast dich zwar an seinen (nicht guten) Bezeichner gehalten, aber _keinen_ Pointer deklariert. Durch deinen Code wird das Problem schließlich fabriziert, da der Compiler eine dynamisch allokierte Instanz der Klasse Component1 an einen Pointer zuweisen will, aber auf ein bereits konstruiertes Objekt trifft. Das ist das Problem.</p>
<p>MfG</p>
<p>GPC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039588</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Tue, 18 Apr 2006 09:15:16 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 09:21:31 GMT]]></title><description><![CDATA[<p>GPC schrieb:</p>
<blockquote>
<p>äh, doch. Du hast dich zwar an seinen (nicht guten) Bezeichner gehalten, aber _keinen_ Pointer deklariert. Durch deinen Code wird das Problem schließlich fabriziert, da der Compiler eine dynamisch allokierte Instanz der Klasse Component1 an einen Pointer zuweisen will, aber auf ein bereits konstruiertes Objekt trifft. Das ist das Problem.</p>
<p>MfG</p>
<p>GPC</p>
</blockquote>
<p>Tatsächlich, stimmt. Das hab' ich natürlich völlig übersehen! <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="🙂"
    /> Aber ich möchte ganz deutlich sagen das der Fehler nicht durch meinen Code entsteht... Ich hab nur vor lauter Eile einen Tippfehler gemacht der genau den Fehler im Quellcode des Posters wiederspiegelt... Und wie es zu diesem Fehler kommt weis ich selbst.</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039593</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Tue, 18 Apr 2006 09:21:31 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenkonstruktion mit new on Tue, 18 Apr 2006 09:24:58 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich hab nur vor lauter Eile einen Tippfehler gemacht der genau den Fehler im Quellcode des Posters wiederspiegelt... Und wie es zu diesem Fehler kommt weis ich selbst.</p>
</blockquote>
<p>schon klar, war kein Vorwurf, nur eine Feststellung.</p>
<p>MfG</p>
<p>GPC</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1039596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1039596</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Tue, 18 Apr 2006 09:24:58 GMT</pubDate></item></channel></rss>