<?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[Error beim erstellen einer Klasse]]></title><description><![CDATA[<p>Hallo Leute<br />
ich versuch mich gerade an WxWidgets und scheitere schon ganz am Anfang...<br />
mein Header sieht so aus:</p>
<pre><code>#ifndef FRAME_H_INCLUDED
#define FRAME_H_INCLUDED

class App : public wxApp {
    public: virtual bool OnInit();
};

class Frame : public wxFrame{
    public:
    Frame(char *title,
          int xpos, int ypos,
          int xsize, int ysize);
    ~Frame();
};

#endif // FRAME_H_INCLUDED
</code></pre>
<p>und die Source Datei:</p>
<pre><code>#include &quot;Frame.h&quot;
#include &lt;wx/wx.h&gt;

IMPLEMENT_APP(App)

bool App::OnInit(){
    Frame *f = new Frame(wxT(&quot;TEST&quot;),50,50,200,100);
    f-&gt;Show(true);
    SetTopWindow(f);
    return true;
}

Frame::Frame(char *title,
             int xpos, int ypos,
             int xsize, int ysize)
                : wxFrame(NULL, -1,
                          title,
                          wxPoint(xpos,ypos),
                          wxSize(xsize,ysize)) {

}
</code></pre>
<p>Es kommt folgender Fehler:<br />
Line 4 error: expected class-name before '{’ token<br />
Line 8 error: &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
Ich verwende Code::Blocks und Fedora(OS) was läuft hier falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/270666/error-beim-erstellen-einer-klasse</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 01:15:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/270666.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 Jul 2010 08:21:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Error beim erstellen einer Klasse on Fri, 16 Jul 2010 08:21:16 GMT]]></title><description><![CDATA[<p>Hallo Leute<br />
ich versuch mich gerade an WxWidgets und scheitere schon ganz am Anfang...<br />
mein Header sieht so aus:</p>
<pre><code>#ifndef FRAME_H_INCLUDED
#define FRAME_H_INCLUDED

class App : public wxApp {
    public: virtual bool OnInit();
};

class Frame : public wxFrame{
    public:
    Frame(char *title,
          int xpos, int ypos,
          int xsize, int ysize);
    ~Frame();
};

#endif // FRAME_H_INCLUDED
</code></pre>
<p>und die Source Datei:</p>
<pre><code>#include &quot;Frame.h&quot;
#include &lt;wx/wx.h&gt;

IMPLEMENT_APP(App)

bool App::OnInit(){
    Frame *f = new Frame(wxT(&quot;TEST&quot;),50,50,200,100);
    f-&gt;Show(true);
    SetTopWindow(f);
    return true;
}

Frame::Frame(char *title,
             int xpos, int ypos,
             int xsize, int ysize)
                : wxFrame(NULL, -1,
                          title,
                          wxPoint(xpos,ypos),
                          wxSize(xsize,ysize)) {

}
</code></pre>
<p>Es kommt folgender Fehler:<br />
Line 4 error: expected class-name before '{’ token<br />
Line 8 error: &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
Ich verwende Code::Blocks und Fedora(OS) was läuft hier falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927039</guid><dc:creator><![CDATA[wxNewb]]></dc:creator><pubDate>Fri, 16 Jul 2010 08:21:16 GMT</pubDate></item><item><title><![CDATA[Reply to Error beim erstellen einer Klasse on Fri, 16 Jul 2010 11:16:14 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927040</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927040</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 16 Jul 2010 11:16:14 GMT</pubDate></item><item><title><![CDATA[Reply to Error beim erstellen einer Klasse on Fri, 16 Jul 2010 08:34:54 GMT]]></title><description><![CDATA[<p>Ok verständlich*g*<br />
hab jetzt noch nen error:<br />
Der Code ist wie oben nur die Include umkopiert...<br />
line 18 undefined reference to 'vtable for Frame'<br />
(in der Source Datei)<br />
könnte was mit der Vererbung zu tun haben denk ich!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927051</guid><dc:creator><![CDATA[wxNewb]]></dc:creator><pubDate>Fri, 16 Jul 2010 08:34:54 GMT</pubDate></item><item><title><![CDATA[Reply to Error beim erstellen einer Klasse on Fri, 16 Jul 2010 10:08:37 GMT]]></title><description><![CDATA[<p>VTable heisst meistens das du was deklarierst( in .h) aber nicht implementierst (in .cpp) .. ich vermute mal den Destruktor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927111</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927111</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Fri, 16 Jul 2010 10:08:37 GMT</pubDate></item><item><title><![CDATA[Reply to Error beim erstellen einer Klasse on Fri, 16 Jul 2010 11:52:39 GMT]]></title><description><![CDATA[<p>padreigh schrieb:</p>
<blockquote>
<p>VTable heisst meistens das du was deklarierst( in .h) aber nicht implementierst (in .cpp) .. ich vermute mal den Destruktor.</p>
</blockquote>
<p>Nein, das ist eine normale undefined reference (und fällt nur auf, wenn das nicht-definierte verwendet wird!)<br />
Wenn du aber hinschreibst &quot;virtual deklariert aber nicht definiert&quot;, dann stimmt das mit der &quot;undefined reference to vtable&quot; <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="🙂"
    /> selbst wenn es nirgends verwendet wird!</p>
<p>// edit:<br />
In diesem Fall ist der Schuldige der Destruktor. In der Basisklasse (wxFrame, vllt. sogar noch tiefer) ist der als virtual deklariert. Auch wenn du es in deiner Klasse nicht hinschreibst, bleibt der virtual, und sobald du ihn deklarierst musst du ihn auch definieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1927193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1927193</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Fri, 16 Jul 2010 11:52:39 GMT</pubDate></item></channel></rss>