<?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 C2059: syntax error: &#x27;constant&#x27; (Konstruktorproblem)]]></title><description><![CDATA[<p>Hi zusammen,</p>
<p>hat einer eine Idee, wieso folgendes passiert:</p>
<p>erstmal, ohne den nachfolgend beschriebenen Konstruktor funktioniert alles einwandfrei. Jetzt habe ich einen Konstruktor zu meiner Klasse CCustomTabCtrl hinzugefügt:</p>
<p>.h file</p>
<pre><code class="language-cpp">CCustomTabCtrl(int Type);
</code></pre>
<p>.cpp file</p>
<pre><code class="language-cpp">CCustomTabCtrl::CCustomTabCtrl(int Type) : m_PreviousTab(0), m_MaxWidth(0), m_MaxHeight(0), TabType(Type) 
{ 
   ...
}
</code></pre>
<p>in einer Dialogklasse wird nun ein Objekt von CCustomTabCtrl erzeugt</p>
<pre><code class="language-cpp">CCustomTabCtrl TabRow1(0);
</code></pre>
<p>Von Visual Studio bekomme ich nun den Fehler &quot;error C2059: Syntaxfehler: 'Konstante'&quot;</p>
<p>Aus irgendeinem Grund mag der Compiler es nicht, dass ich den CCustomTabCtrl Konstruktor mit einer Konstanten aufrufe.</p>
<p>Ich poste das ganze hier, weil ich vermute, dass mir Grundkenntnisse bzgl. Konstruktoren fehlen. Die FAQ zum Thema Konstruktor haben mir bei dem Problem leider auch nicht helfen können.</p>
<p>Gruß<br />
Sed</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/263357/error-c2059-syntax-error-constant-konstruktorproblem</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 18:23:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/263357.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 19 Mar 2010 14:08:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to error C2059: syntax error: &#x27;constant&#x27; (Konstruktorproblem) on Fri, 19 Mar 2010 14:08:53 GMT]]></title><description><![CDATA[<p>Hi zusammen,</p>
<p>hat einer eine Idee, wieso folgendes passiert:</p>
<p>erstmal, ohne den nachfolgend beschriebenen Konstruktor funktioniert alles einwandfrei. Jetzt habe ich einen Konstruktor zu meiner Klasse CCustomTabCtrl hinzugefügt:</p>
<p>.h file</p>
<pre><code class="language-cpp">CCustomTabCtrl(int Type);
</code></pre>
<p>.cpp file</p>
<pre><code class="language-cpp">CCustomTabCtrl::CCustomTabCtrl(int Type) : m_PreviousTab(0), m_MaxWidth(0), m_MaxHeight(0), TabType(Type) 
{ 
   ...
}
</code></pre>
<p>in einer Dialogklasse wird nun ein Objekt von CCustomTabCtrl erzeugt</p>
<pre><code class="language-cpp">CCustomTabCtrl TabRow1(0);
</code></pre>
<p>Von Visual Studio bekomme ich nun den Fehler &quot;error C2059: Syntaxfehler: 'Konstante'&quot;</p>
<p>Aus irgendeinem Grund mag der Compiler es nicht, dass ich den CCustomTabCtrl Konstruktor mit einer Konstanten aufrufe.</p>
<p>Ich poste das ganze hier, weil ich vermute, dass mir Grundkenntnisse bzgl. Konstruktoren fehlen. Die FAQ zum Thema Konstruktor haben mir bei dem Problem leider auch nicht helfen können.</p>
<p>Gruß<br />
Sed</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1871308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1871308</guid><dc:creator><![CDATA[Sed98]]></dc:creator><pubDate>Fri, 19 Mar 2010 14:08:53 GMT</pubDate></item><item><title><![CDATA[Reply to error C2059: syntax error: &#x27;constant&#x27; (Konstruktorproblem) on Fri, 19 Mar 2010 14:59:55 GMT]]></title><description><![CDATA[<p>Ist das der Originalcode? zeig mal bitte die komplette Klassendefinition, so wie du sie im Header hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1871331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1871331</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 19 Mar 2010 14:59:55 GMT</pubDate></item><item><title><![CDATA[Reply to error C2059: syntax error: &#x27;constant&#x27; (Konstruktorproblem) on Fri, 19 Mar 2010 15:44:24 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class CCustomTabCtrl : public CTabCtrl 
{
	CWnd* m_Parent;
	int m_PreviousTab;
	int NrTabs;
	int TabType;
	CTabPage1 m_Tab1[12];
	CTabPage2 m_Tab2[12];
	CTabPage3 m_Tab3[12];
	CTabPage4 m_Tab4[12];
	CTabPage5 m_Tab5[12];
	CDialog *m_pDialogs[12];			
	int m_MaxWidth, m_MaxHeight;

	BOOL CreateTab(CDialog *, UINT, int);

public:
	CCustomTabCtrl();
	CCustomTabCtrl(int);

// Overrides
	protected:
	virtual void PreSubclassWindow();
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CCustomTabCtrl() {};

	// Generated message map functions
protected:
	//{{AFX_MSG(CCustomTabCtrl)
	afx_msg void OnSelChange(NMHDR* pNMHDR, LRESULT* pResult);
	//}}AFX_MSG

	DECLARE_MESSAGE_MAP()
};
</code></pre>
<p>Ein Punkt, der mir grad noch einfällt, der eventuell was damit zu tun hat:<br />
Der Aufruf</p>
<pre><code class="language-cpp">CCustomTabCtrl TabRow1(0);
</code></pre>
<p>passiert in der Headerdatei eines Dialogfensters. Die .h und .cpp files dieses Dialogfensters sind per Ressourceneditor generiert worden und enthalten eben bis auf diese Zeile keinen eigenen Code von mir.<br />
Mag der Compiler es nicht, dass der Konstruktor aus dem Headerfile aufgerufen wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1871355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1871355</guid><dc:creator><![CDATA[Sed98]]></dc:creator><pubDate>Fri, 19 Mar 2010 15:44:24 GMT</pubDate></item><item><title><![CDATA[Reply to error C2059: syntax error: &#x27;constant&#x27; (Konstruktorproblem) on Fri, 19 Mar 2010 15:49:28 GMT]]></title><description><![CDATA[<p>ich bekomme übrigens die selbe Fehlermeldung, wenn ich nur den Standardkonstruktor drin habe und den anderen auskommentiert habe. Dabei aber trotzdem die Zeile</p>
<pre><code class="language-cpp">CCustomTabCtrl TabRow1(0);
</code></pre>
<p>ausführe...statt</p>
<pre><code class="language-cpp">CCustomTabCtrl TabRow1;
</code></pre>
<p>findet er den konstruktor erst gar nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1871358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1871358</guid><dc:creator><![CDATA[Sed98]]></dc:creator><pubDate>Fri, 19 Mar 2010 15:49:28 GMT</pubDate></item><item><title><![CDATA[Reply to error C2059: syntax error: &#x27;constant&#x27; (Konstruktorproblem) on Fri, 19 Mar 2010 15:59:47 GMT]]></title><description><![CDATA[<p>Was ist denn CTabPage1..5? Existieren die? Vllt CTabPage?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1871365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1871365</guid><dc:creator><![CDATA[witte]]></dc:creator><pubDate>Fri, 19 Mar 2010 15:59:47 GMT</pubDate></item><item><title><![CDATA[Reply to error C2059: syntax error: &#x27;constant&#x27; (Konstruktorproblem) on Fri, 19 Mar 2010 16:21:39 GMT]]></title><description><![CDATA[<p>ja, die existieren. Wie gesagt, bevor ich den zweiten Konstruktor (CCustomTabCtrl(int)) hinzugefügt habe, hat alles einwandfrei funktioniert.</p>
<p>Wenn ich ein Objekt mittels</p>
<pre><code class="language-cpp">CCustomTabCtrl TabRow1;
</code></pre>
<p>erzeuge, klappt es auch, nur dass ich halt den Parameter &quot;type&quot; nicht verwenden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1871379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1871379</guid><dc:creator><![CDATA[Sed98]]></dc:creator><pubDate>Fri, 19 Mar 2010 16:21:39 GMT</pubDate></item><item><title><![CDATA[Reply to error C2059: syntax error: &#x27;constant&#x27; (Konstruktorproblem) on Fri, 19 Mar 2010 17:26:06 GMT]]></title><description><![CDATA[<p>Dann bitte auch noch den Header wo du den Ctor aufrufst...</p>
<p>Ich rate jetzt mal: du deklarierst eine Membervariable und versuchst sie gleichzeitig zu initalisieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1871401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1871401</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 19 Mar 2010 17:26:06 GMT</pubDate></item><item><title><![CDATA[Reply to error C2059: syntax error: &#x27;constant&#x27; (Konstruktorproblem) on Mon, 22 Mar 2010 07:44:29 GMT]]></title><description><![CDATA[<p>So, sorry für die langsame Antwort.</p>
<p>Tab1.h:</p>
<pre><code class="language-cpp">pragma once
#include &quot;Resource.h&quot;
#include &quot;afxcmn.h&quot;
#include &quot;CustomTabCtrl.h&quot;

// Dialogfeld

class CTab1 : public CDialog
{
	DECLARE_DYNAMIC(CTab1)

public:
	CTab1(CWnd* pParent = NULL);   // Standardkonstruktor
	virtual ~CTab1();

// Dialogfelddaten
	enum { IDD = IDD_DIALOG_HAM };

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV-Unterstützung

	DECLARE_MESSAGE_MAP()
public:
	CCustomTabCtrl TabRow1(0);

};
</code></pre>
<p>Deklarieren und initialisieren gleichzeitig ja... aber ist keine Membervariable (oder?)<br />
Ich lege eben in der Headerdatei eines Dialogfensters ein TabCtrl Objekt an, welches gleichzeitig mittels des Konstruktors initialisiert werden soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1872328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1872328</guid><dc:creator><![CDATA[Sed98]]></dc:creator><pubDate>Mon, 22 Mar 2010 07:44:29 GMT</pubDate></item><item><title><![CDATA[Reply to error C2059: syntax error: &#x27;constant&#x27; (Konstruktorproblem) on Mon, 22 Mar 2010 09:07:38 GMT]]></title><description><![CDATA[<p>Ich reduzier das mal aufs relevante:</p>
<p>Sed98 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class CTab1 : public CDialog
{
public:
	CCustomTabCtrl TabRow1(0);
};
</code></pre>
</blockquote>
<p>Das ist kein gültiges C++. Man könnte das jetzt als folgendes interpretieren:</p>
<p>a) Du deklarierst eine Membervariable CTabl::TabRowl vom Typ CCustomTabCtrl und gits ihr einen Initialisierer mit, was in C++ nicht erlaubt ist. Initialisierungen von nichtstatischen Membern finden im Konstruktor in der Initialisirungsliste statt.</p>
<p>b) Du deklarierst eine Funktion CTabl::TabRowl, die ein CCustomTabCtrl zurückgibt, mit einer Parameterliste (0), was auch nicht gültig ist. Parameterlisten bestehen aus Typnamen, getrennt mit Kommata und jeweils von einem Optionalen Parameternamen gefolgt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1872354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1872354</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 22 Mar 2010 09:07:38 GMT</pubDate></item><item><title><![CDATA[Reply to error C2059: syntax error: &#x27;constant&#x27; (Konstruktorproblem) on Mon, 22 Mar 2010 13:01:05 GMT]]></title><description><![CDATA[<p>ah okay, verstehe... gemeint war a).<br />
dann hab ich grad wieder was, zugegebenermaßen sehr grundlegendes, dazu gelernt.</p>
<p>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/1872477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1872477</guid><dc:creator><![CDATA[Sed98]]></dc:creator><pubDate>Mon, 22 Mar 2010 13:01:05 GMT</pubDate></item></channel></rss>