<?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[array von Pointern auf Klasse]]></title><description><![CDATA[<p>Hi,</p>
<p>ich versuche über &lt;vector&gt; ein dynamisches array von Pointer zu erzeugen, die auf eine Klasse zeigen. Egal was ich bis jetzt versucht habe, immer muss eine Konvertierung vorgenommen werden, die ich nicht nachvollziehen kann.</p>
<pre><code>std::vector&lt;std::string&gt;vectorliste;
</code></pre>
<pre><code>vectorliste.push_back(ptest-&gt;Delete());
</code></pre>
<pre><code>error C2664: 'push_back' : Konvertierung des Parameters 1 von 'void' in 'const class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &amp;' nicht moeglich
Ausdruck vom Typ void kann nicht in andere Typen konvertiert werden
</code></pre>
<p>Ich hoffe mir kann jemand helfen. Ich finde den Fehler einfach nicht...</p>
<p>Gruß eddy</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/156014/array-von-pointern-auf-klasse</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 18:09:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/156014.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 12 Aug 2006 02:37:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to array von Pointern auf Klasse on Sat, 12 Aug 2006 02:37:50 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich versuche über &lt;vector&gt; ein dynamisches array von Pointer zu erzeugen, die auf eine Klasse zeigen. Egal was ich bis jetzt versucht habe, immer muss eine Konvertierung vorgenommen werden, die ich nicht nachvollziehen kann.</p>
<pre><code>std::vector&lt;std::string&gt;vectorliste;
</code></pre>
<pre><code>vectorliste.push_back(ptest-&gt;Delete());
</code></pre>
<pre><code>error C2664: 'push_back' : Konvertierung des Parameters 1 von 'void' in 'const class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &amp;' nicht moeglich
Ausdruck vom Typ void kann nicht in andere Typen konvertiert werden
</code></pre>
<p>Ich hoffe mir kann jemand helfen. Ich finde den Fehler einfach nicht...</p>
<p>Gruß eddy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115761</guid><dc:creator><![CDATA[edmundy]]></dc:creator><pubDate>Sat, 12 Aug 2006 02:37:50 GMT</pubDate></item><item><title><![CDATA[Reply to array von Pointern auf Klasse on Sat, 12 Aug 2006 05:04:16 GMT]]></title><description><![CDATA[<p>Ähm...</p>
<ol>
<li>Du hast mit</li>
</ol>
<pre><code class="language-cpp">std::vector&lt; std::string &gt; vectorliste;
</code></pre>
<p>kein</p>
<p>edmundy schrieb:</p>
<blockquote>
<p>[...] dynamisches Array von Pointer [...], die auf eine Klasse zeigen [...]</p>
</blockquote>
<p>, sondern einen <em>std::vector</em>, welcher Objekte (Instanzen) der Klasse <em>std::string</em> enthalten kann.</p>
<ol start="2">
<li>was ist denn <em>ptest</em> in</li>
</ol>
<p>edmundy schrieb:</p>
<blockquote>
<pre><code class="language-cpp">vectorliste.push_back( ptest-&gt;Delete( ) );
</code></pre>
</blockquote>
<p>? Bzw. was gibt <em>ptest::Delete( )</em> zurück? Falls es nicht zufällig einen <em>std::string</em> zurückgibt ist der Aufruf quatsch.</p>
<ol start="3">
<li>Ah ja... Dem Fehler</li>
</ol>
<p>edmundy schrieb:</p>
<blockquote>
<pre><code>error C2664: 'push_back' :
Konvertierung des Parameters 1 von 'void' in 'const class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; &amp;' nicht moeglich
</code></pre>
</blockquote>
<p>nach gibt <em>ptest::Delete( )</em> nix (<em>void</em>) zurück und damit ist der Aufruf <em>wirklich</em> unsinn <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Der Compiler meckert zurecht.</p>
<p>Magst du vielleicht verraten, was du damit vorhast?</p>
<p>Ein (diesmal wirklich)</p>
<p>edmundy schrieb:</p>
<blockquote>
<p>[...] dynamisches [&quot;]Array[&quot;] von Pointer [...], die auf eine Klasse [-&gt; Instanzen der Klasse <em>std::string</em>] zeigen [...]</p>
</blockquote>
<p>wäre soetwas:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;vector&gt;
#include &lt;iostream&gt;

using namespace std;

int main( )
{
    vector&lt; string* &gt; array;

    // füllen:

    array.push_back( new string( &quot;Hello&quot; ) );
    array.push_back( new string( &quot;, &quot; ) );
    array.push_back( new string( &quot;World!&quot;) );
    array.push_back( new string( &quot;\n&quot; ) );

    // ausgeben:

    for( vector&lt; string* &gt;::iterator i = array.begin( ); i != array.end( ); ++i )
        cout &lt;&lt; **i;

    // aufräumen:

    for( vector&lt; string* &gt;::iterator i = array.begin( ); i != array.end( ); ++i )
        delete *i;
}
</code></pre>
<p>Greetz, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115767</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Sat, 12 Aug 2006 05:04:16 GMT</pubDate></item><item><title><![CDATA[Reply to array von Pointern auf Klasse on Sat, 12 Aug 2006 13:12:22 GMT]]></title><description><![CDATA[<p>Danke das du dir soviel Mühe gemacht hast! Hat mir viel Klarheit gebracht, aber leider konnte ich es nicht auf mein Problem umsetzen.</p>
<blockquote>
<p>nach gibt ptest::Delete( ) nix (void) zurück und damit ist der Aufruf wirklich unsinn <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Der Compiler meckert zurecht.</p>
<p>Magst du vielleicht verraten, was du damit vorhast?</p>
</blockquote>
<p>Ich versuch es mal und hoffe, dass ich mich richtig ausdrücken kann.<br />
In diesem Array will ich Pointer auf die Klasse CFunktionen speichern in der beispielsweise die Funktion Delete() ist. Über dieses Array will ich dann je Zeile des Arrays eine Funktion aufrufen. Ist sowas möglich?</p>
<pre><code>CFunktionen* ptest;
ptest = new CFunktionen();
array.clear();

while(!pAuswahl-&gt;IsEOF())
		{
		array.push_back(ptest);
		pAuswahl-&gt;MoveNext();

		}
</code></pre>
<p>Gruß Eddy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115993</guid><dc:creator><![CDATA[edmundy]]></dc:creator><pubDate>Sat, 12 Aug 2006 13:12:22 GMT</pubDate></item><item><title><![CDATA[Reply to array von Pointern auf Klasse on Sat, 12 Aug 2006 13:36:11 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>das ist schon möglich, wenn du einen Vector mit dem Typ <em>std::vector&lt;CFunktionen</em>&gt;* hast.</p>
<p>Allerdings wird in deinem Beispiel jeweils der gleiche Pointer auf die gleiche Instanz in den vector aufgenommen, und das dürfte wohl sinnlos sein.</p>
<p>Außerdem must du dann auch die angelgten Instanzen wieder selber löschen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1116009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1116009</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 12 Aug 2006 13:36:11 GMT</pubDate></item><item><title><![CDATA[Reply to array von Pointern auf Klasse on Sat, 12 Aug 2006 13:50:22 GMT]]></title><description><![CDATA[<p>edmundy schrieb:</p>
<blockquote>
<p>In diesem Array will ich Pointer auf die Klasse CFunktionen speichern in der beispielsweise die Funktion Delete() ist. Über dieses Array will ich dann je Zeile des Arrays eine Funktion aufrufen. Ist sowas möglich?</p>
</blockquote>
<pre><code class="language-cpp">#include &lt;vector&gt;
#include &lt;iostream&gt;

using namespace std;

class CFunktionen {

    private:

        size_t _index;

    public:
        CFunktionen( ) { }
        CFunktionen( size_t index ) : _index( index ) { };
        ~CFunktionen( ) { };

       void Delete( )
       {
           cout &lt;&lt; &quot;CFunktionen::Delete( )&quot; &lt;&lt; endl;
           cout &lt;&lt; &quot;CFunktionen::index = &quot; &lt;&lt; _index &lt;&lt; endl &lt;&lt; endl;
       }
};

int main( )
{
    vector&lt; CFunktionen* &gt; Vector;

    Vector.push_back( new CFunktionen( 1 ) );
    Vector.push_back( new CFunktionen( 2 ) );
    Vector.push_back( new CFunktionen( 3 ) );
    Vector.push_back( new CFunktionen( 4 ) );
    Vector.push_back( new CFunktionen( 5 ) );
    Vector.push_back( new CFunktionen( 6 ) );
    Vector.push_back( new CFunktionen( 7 ) );

    for( vector&lt; CFunktionen* &gt;::iterator i = Vector.begin( ); i != Vector.end( ); ++i )
        (**i).Delete( );

    // aufräumen:

    for( vector&lt; CFunktionen* &gt;::iterator i = Vector.begin( ); i != Vector.end( ); ++i )
        delete *i;
}
</code></pre>
<p>Greetz, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1116021</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1116021</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Sat, 12 Aug 2006 13:50:22 GMT</pubDate></item><item><title><![CDATA[Reply to array von Pointern auf Klasse on Sat, 12 Aug 2006 15:00:40 GMT]]></title><description><![CDATA[<blockquote>
<p>In diesem Array will ich Pointer auf die Klasse CFunktionen speichern</p>
</blockquote>
<p>Das geht nicht! In C++ sind Klassen keine <em>first-class-citizens</em> --<br />
also keine Objekte -- wie z.B. in Smalltalk.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1116073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1116073</guid><dc:creator><![CDATA[Javaner]]></dc:creator><pubDate>Sat, 12 Aug 2006 15:00:40 GMT</pubDate></item><item><title><![CDATA[Reply to array von Pointern auf Klasse on Sat, 12 Aug 2006 16:22:23 GMT]]></title><description><![CDATA[<p>Er meint dynamisch angelegte Instanzen von <em>CFunktionen</em>, kleinlicher Meckerer <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>Greetz, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1116123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1116123</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Sat, 12 Aug 2006 16:22:23 GMT</pubDate></item><item><title><![CDATA[Reply to array von Pointern auf Klasse on Tue, 19 Dec 2006 00:01:48 GMT]]></title><description><![CDATA[<p>Vielen Dank an Euch. Allen voran Swordfish, denn genau das brauchte ich.<br />
Ich werde versuchen, meine Probleme fachlicher zu formulieren. Für den Anfang ist es aber recht schwer <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>Gruß und schönen Abend<br />
Edmundy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1116278</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1116278</guid><dc:creator><![CDATA[edmundy]]></dc:creator><pubDate>Tue, 19 Dec 2006 00:01:48 GMT</pubDate></item></channel></rss>