<?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[Zeiger auf Elementfunktion unter kdevelop]]></title><description><![CDATA[<p>Ich lerne gerade mit dem Buch C++ in 21 Tagen und bin jetzt auf ein Problem gestoßen. Ich benutze gcc - compiler unter kedevelop in SuSE Linux 10.0. Ich wollte einen Zeiger auf eine Elemenetfunktion,die keine Parameter aufnimmt erstellen und eine Elementfunktion aufrufen:<br />
void (Mammal::*pHorse)() const = Speak;<br />
Habs unter V c++ unter Microsoft getestet. Hat funktioniert. Aber in Kdevelop bekomme ich folgende Fehlermeldungen:<br />
Invalid use of non - ststic Function ...<br />
Cannot convert Mammal::*pHorse into Mammal::pHorse.<br />
Was kann ich machen?<br />
Hilfe! Bitte!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/156744/zeiger-auf-elementfunktion-unter-kdevelop</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 00:00:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/156744.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 19 Aug 2006 17:26:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger auf Elementfunktion unter kdevelop on Sat, 19 Aug 2006 17:26:53 GMT]]></title><description><![CDATA[<p>Ich lerne gerade mit dem Buch C++ in 21 Tagen und bin jetzt auf ein Problem gestoßen. Ich benutze gcc - compiler unter kedevelop in SuSE Linux 10.0. Ich wollte einen Zeiger auf eine Elemenetfunktion,die keine Parameter aufnimmt erstellen und eine Elementfunktion aufrufen:<br />
void (Mammal::*pHorse)() const = Speak;<br />
Habs unter V c++ unter Microsoft getestet. Hat funktioniert. Aber in Kdevelop bekomme ich folgende Fehlermeldungen:<br />
Invalid use of non - ststic Function ...<br />
Cannot convert Mammal::*pHorse into Mammal::pHorse.<br />
Was kann ich machen?<br />
Hilfe! Bitte!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1120428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1120428</guid><dc:creator><![CDATA[Ape64]]></dc:creator><pubDate>Sat, 19 Aug 2006 17:26:53 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Elementfunktion unter kdevelop on Sat, 19 Aug 2006 17:37:19 GMT]]></title><description><![CDATA[<p>Zeig mal ein komplettes kleines Programm, das den Fehler zeigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1120436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1120436</guid><dc:creator><![CDATA[Ponto]]></dc:creator><pubDate>Sat, 19 Aug 2006 17:37:19 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Elementfunktion unter kdevelop on Sun, 20 Aug 2006 17:12:53 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class Mammal
{
public:
Mammal():itsAge(1) {}
virtual ~Mammal() {}
virtual void Speak() const = 0;
protected:
int itsAge:
};

class Dog : public Mammal
{
public:
void Speak() const { cout &lt;&lt; &quot;Wuff&quot; &lt;&lt; endl; }
};

int main()
{
void *ptr = 0;
ptr = new Dog;
void (Mammal::*pFunc) const = 0:
pFunc = Mammal::Speak;          // hier kommt es zur Fehlermeldung
(ptr-&gt;*pFunc)();
return 0;
}
</code></pre>
<p>Bei Visual c++ funktioniert das.<br />
Bei kdevelop kommt bereits erwähnte Fehlermeldung.<br />
Ich habe in den Projekteigenschaften rumprobiert. Wenn ich Programmausführung simulieren aktiviere, kann ich zwar ausführen, dafür kommt dann ein Speicherzugriffsfehler.</p>
<p>//Edit: Codetags <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1121011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1121011</guid><dc:creator><![CDATA[Ape64]]></dc:creator><pubDate>Sun, 20 Aug 2006 17:12:53 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Elementfunktion unter kdevelop on Sun, 20 Aug 2006 17:04:51 GMT]]></title><description><![CDATA[<p>Hm, kann es sein, dass im Buch einfach Mist steht oder Du das falsch verstanden hast?</p>
<p>Schau Dir mal das hier an:<br />
<a href="http://www.josuttis.com/cppbuch/sonst/kompptr1.cpp.html" rel="nofollow">http://www.josuttis.com/cppbuch/sonst/kompptr1.cpp.html</a></p>
<p>Auch in den C++-FAQ gibt es dazu einen Eintrag:<br />
<a href="http://www.c-plusplus.net/forum_dev/viewtopic-var-t-is-39450.html" rel="nofollow">http://www.c-plusplus.net/forum_dev/viewtopic-var-t-is-39450.html</a></p>
<p>edit: Ist aber ein Standard-C++-Problem, ich verschiebe Dich mal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1121022</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1121022</guid><dc:creator><![CDATA[nman]]></dc:creator><pubDate>Sun, 20 Aug 2006 17:04:51 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Elementfunktion unter kdevelop on Thu, 19 Mar 2009 09:44:40 GMT]]></title><description><![CDATA[<p>Wie wärs mal mit</p>
<pre><code class="language-cpp">// ...
    int itsAge;                         // Tippfehler
    // ...
    Mammal *ptr = 0;                    // void macht hier glaub keinen Sinn, denn
                                        // wozu sonst der ganze Aufwand mit Dog  
                                        // und Mammal und so? Polymorphie...
    // ...
    void (Mammal::*pFunc)() const = 0;  // Tippfehler

    pFunc = &amp;Mammal::Speak;             // Adresse, nicht die Funktion 
                                        // selber...pFunc
                                        // ist schliesslich ein Zeiger
</code></pre>
<p>Zumindest hättest du die Tippfehler vermeiden können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1121046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1121046</guid><dc:creator><![CDATA[skreutzer]]></dc:creator><pubDate>Thu, 19 Mar 2009 09:44:40 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Elementfunktion unter kdevelop on Sun, 20 Aug 2006 18:17:16 GMT]]></title><description><![CDATA[<p>Hi,<br />
schmeiss das Buch weg, das ist scheisse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1121053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1121053</guid><dc:creator><![CDATA[tipp]]></dc:creator><pubDate>Sun, 20 Aug 2006 18:17:16 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Elementfunktion unter kdevelop on Mon, 21 Aug 2006 15:09:08 GMT]]></title><description><![CDATA[<p>DANKE euch allen. Das Buch ist übrigens wirklich scheiße. Ist nicht der erste Fehler über den ich gestolpert bin. Frage mich nur, warum vc++ den Fehler nicht moniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1121632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1121632</guid><dc:creator><![CDATA[Ape64]]></dc:creator><pubDate>Mon, 21 Aug 2006 15:09:08 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Elementfunktion unter kdevelop on Thu, 19 Mar 2009 09:45:33 GMT]]></title><description><![CDATA[<p>hmmm...ich weiss ja nicht, welche Auflage du vom Buch hast, aber ich hab gerade nachgeschaut und meine scheint recht OK zu sein. Dort steht auf Seite 533:</p>
<pre><code class="language-cpp">// ...
    Mammal* ptr =0;  // Fehler von Ape64
    // ...
    case 1: pFunc = Mammal::Speak; break;  // Fehler im Buch
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1121748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1121748</guid><dc:creator><![CDATA[skreutzer]]></dc:creator><pubDate>Thu, 19 Mar 2009 09:45:33 GMT</pubDate></item></channel></rss>