<?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[Operator + überladen bei Struktur]]></title><description><![CDATA[<p>Servus,</p>
<p>ich bekomms gerade nicht hin meine so definierte Struktur:<br />
struct m_TimeStruct<br />
{<br />
int nDay, nMon, nYear, nHour, nMin;<br />
double fSec;<br />
};</p>
<p>zu überladen.</p>
<p>Folgendes habe ich bereits ausprobiert:<br />
struct m_TimeStruct operator + (struct m_TimeStruct, double a)<br />
{<br />
/**/<br />
}</p>
<p>struct m_TimeStruct operator + (double a)<br />
{<br />
/**/<br />
}</p>
<p>Sinn soll es sein Sekunden auf ein Datum zu addieren...</p>
<p>Bei der 1. Variante kommen mir folgende Fehler ins Haus:</p>
<p>1&gt;c:\applications\test01\test01\test01dlg.h(73) : error C2804: binary 'operator +' has too many parameters<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(518) : error C2027: use of undefined type 'm_TimeStruct'<br />
1&gt; c:\applications\test01\test01\test01dlg.cpp(517) : see declaration of 'm_TimeStruct'<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(518) : error C2079: 'operator +' uses undefined struct 'm_TimeStruct'<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(519) : error C2673: 'operator +' : global functions do not have 'this' pointers<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(519) : error C2079: 'tmp' uses undefined struct 'm_TimeStruct'<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(519) : fatal error C1903: unable to recover from previous error(s); stopping compilation</p>
<p>Bei der 2. siehts ähnlich aus.</p>
<p>Aber ich glaube mein Prob liegt da einfach in der Überladung selbst, oder?<br />
Was mich auch wundert ist, dass er den Typ irgendwie nicht kennen will, obwohl der im zugehörigen Header steht.</p>
<p>Freu mich übern Vorschlag.<br />
Grüße, Jöran</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/251953/operator-überladen-bei-struktur</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 05:13:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/251953.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Oct 2009 06:28:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 06:28:14 GMT]]></title><description><![CDATA[<p>Servus,</p>
<p>ich bekomms gerade nicht hin meine so definierte Struktur:<br />
struct m_TimeStruct<br />
{<br />
int nDay, nMon, nYear, nHour, nMin;<br />
double fSec;<br />
};</p>
<p>zu überladen.</p>
<p>Folgendes habe ich bereits ausprobiert:<br />
struct m_TimeStruct operator + (struct m_TimeStruct, double a)<br />
{<br />
/**/<br />
}</p>
<p>struct m_TimeStruct operator + (double a)<br />
{<br />
/**/<br />
}</p>
<p>Sinn soll es sein Sekunden auf ein Datum zu addieren...</p>
<p>Bei der 1. Variante kommen mir folgende Fehler ins Haus:</p>
<p>1&gt;c:\applications\test01\test01\test01dlg.h(73) : error C2804: binary 'operator +' has too many parameters<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(518) : error C2027: use of undefined type 'm_TimeStruct'<br />
1&gt; c:\applications\test01\test01\test01dlg.cpp(517) : see declaration of 'm_TimeStruct'<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(518) : error C2079: 'operator +' uses undefined struct 'm_TimeStruct'<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(519) : error C2673: 'operator +' : global functions do not have 'this' pointers<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(519) : error C2079: 'tmp' uses undefined struct 'm_TimeStruct'<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(519) : fatal error C1903: unable to recover from previous error(s); stopping compilation</p>
<p>Bei der 2. siehts ähnlich aus.</p>
<p>Aber ich glaube mein Prob liegt da einfach in der Überladung selbst, oder?<br />
Was mich auch wundert ist, dass er den Typ irgendwie nicht kennen will, obwohl der im zugehörigen Header steht.</p>
<p>Freu mich übern Vorschlag.<br />
Grüße, Jöran</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791734</guid><dc:creator><![CDATA[Jöran]]></dc:creator><pubDate>Tue, 13 Oct 2009 06:28:14 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 06:38:04 GMT]]></title><description><![CDATA[<p>Also</p>
<pre><code class="language-cpp">struct m_TimeStruct 
{ 
	int nDay, nMon, nYear, nHour, nMin; 
	double fSec; 
}; 

m_TimeStruct operator + (struct TimeStruct, double a) 
{ 
	// ...
}
</code></pre>
<p>sollte eigentlich gehen. Du musst natürlich eine Struktur zurückgeben, das ist klar. Ansonsten könnte man zur Verschönerung konstante Referenzen in der Paramaterliste benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791739</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Tue, 13 Oct 2009 06:38:04 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 06:52:21 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">m_TimeStruct operator + (struct m_TimeStruct, double a);
</code></pre>
<p>1&gt;c:\applications\test01\test01\test01dlg.h(73) : error C2804: binary 'operator +' has too many parameters</p>
<p>Zudem hab ich dann doch gar keine Variable für meine Struktur, während die double &quot;a&quot; heißt, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791743</guid><dc:creator><![CDATA[Jöran]]></dc:creator><pubDate>Tue, 13 Oct 2009 06:52:21 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 07:12:28 GMT]]></title><description><![CDATA[<p>Also bei mir funktionierts. Haste vielleicht nochmal was verändert? Naja, zeig mal dienen kompletten Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791753</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791753</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Tue, 13 Oct 2009 07:12:28 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 07:16:40 GMT]]></title><description><![CDATA[<p>test01dlg.h</p>
<pre><code class="language-cpp">struct m_TimeStruct
	{
		int nDay, nMon, nYear, nHour, nMin;
		double fSec;
	};
	m_TimeStruct m_TimeGPS, m_TimeInitHiRes, m_TimeInitGPS;
	....

public:
	afx_msg void OnBnClickedOk();
	void tReadComPort();
	static UINT tThread1(LPVOID pParam);
	....
	m_TimeStruct operator + (struct m_TimeStruct, double a);
</code></pre>
<p>test01dlg.cpp</p>
<pre><code class="language-cpp">m_TimeStruct operator + (struct m_TimeStruct, double a)
{
	m_TimeStruct help;	
	return help;
}
</code></pre>
<p>bin mit vs2005 und mfc unterwegs</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791754</guid><dc:creator><![CDATA[Jöran]]></dc:creator><pubDate>Tue, 13 Oct 2009 07:16:40 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 07:54:56 GMT]]></title><description><![CDATA[<p>Seit wann darf public auf Namespaceebene stehen?</p>
<p>Aha, also doch kein kompletter Code :p</p>
<p>operator+ muss entweder eine freie Funktion mit zwei Parametern oder aber eine Memberfunktion mit einem Parameter sein. Bei Dir scheint m_TimeStruct eine innere Klasse zu sein, der operator+ würde daher zur äusseren Klasse gehören und nicht zu m_TimeStruct.</p>
<p>Das Schlüsselwort struct vor einem Typen brauchst Du in C++ nicht mehr. Wenn Du den ersten Parameter von operator+ benutzen möchtest, musst Du ihm einen Namen geben.</p>
<p>(Am Rande: Das Kürzel m_ für Typen ist mir noch nie untergekommen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791761</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 13 Oct 2009 07:54:56 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 08:16:09 GMT]]></title><description><![CDATA[<p>Ok, und wie bring ich ihm bei, dass er zur Struktur gehören soll und nciht zur äußeren Klasse?</p>
<p>Wenns hilft, hier nochmal der fast komplette Headercode:</p>
<pre><code class="language-cpp">class Ctest01Dlg : public CDialog
{
// Construction
public:
	Ctest01Dlg(CWnd* pParent = NULL);	// standard constructor	
	CListBox m_ctlLB1;

// Dialog Data
	enum { IDD = IDD_TEST01_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support

// Implementation
protected:
	...

private:
	...
	struct m_TimeStruct
	{
		int nDay, nMon, nYear, nHour, nMin;
		double fSec;
	};
	m_TimeStruct m_TimeGPS, m_TimeInitHiRes, m_TimeInitGPS;
	....

public:
	afx_msg void OnBnClickedOk();
	void tReadComPort();
	static UINT tThread1(LPVOID pParam);
	//vector&lt;string*&gt;* explode(string str, char delimiter);	
	afx_msg void OnBnClickedButton1();
	afx_msg void OnBnClickedButton2();
	afx_msg void OnBnClickedCancel();
	afx_msg void OnBnClickedButton3();
	m_TimeStruct operator + (struct m_TimeStruct, double a);
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1791781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791781</guid><dc:creator><![CDATA[Jöran]]></dc:creator><pubDate>Tue, 13 Oct 2009 08:16:09 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 08:18:41 GMT]]></title><description><![CDATA[<p>Das bringst Du ihm bei,indem Du den operator+ zum Member der inneren Struktur machst.</p>
<pre><code class="language-cpp">struct m_TimeStruct
{
    ...
    m_TimeStruct operator+(double a);
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1791785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791785</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 13 Oct 2009 08:18:41 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 08:19:56 GMT]]></title><description><![CDATA[<p>Der operator sollte weder zur struct noch zur äußerten Klasse gehören sondern eine freie Funktion sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791786</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 13 Oct 2009 08:19:56 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 08:28:33 GMT]]></title><description><![CDATA[<p>Und was bedeutet freie Funktion in dem Fall?<br />
Ist das Hinzufügen zur struct nicht sauber oder warum sollte er nicht dazu gehören?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791793</guid><dc:creator><![CDATA[Jöran]]></dc:creator><pubDate>Tue, 13 Oct 2009 08:28:33 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 08:32:06 GMT]]></title><description><![CDATA[<p>Jöran schrieb:</p>
<blockquote>
<p>Und was bedeutet freie Funktion in dem Fall?</p>
</blockquote>
<p>Ich schätze mal er meint das:</p>
<pre><code class="language-cpp">struct m_TimeStruct 
{ 
    int nDay, nMon, nYear, nHour, nMin; 
    double fSec; 
}; 

m_TimeStruct operator + (struct TimeStruct, double a) 
{ 
    // ... 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1791796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791796</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Tue, 13 Oct 2009 08:32:06 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 08:51:01 GMT]]></title><description><![CDATA[<p>Es funktioniert nicht. Weder bei Inkludieren in die struct-Konstruktion noch außerhalb</p>
<p>Ich bekomme ständig Fehler, wie:</p>
<p>1&gt;c:\applications\test01\test01\test01dlg.cpp(518) : error C2803: 'operator +' must have at least one formal parameter of class type<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(518) : error C2027: use of undefined type 'm_TimeStruct'<br />
1&gt; c:\applications\test01\test01\test01dlg.cpp(517) : see declaration of 'm_TimeStruct'</p>
<p>Gibt es keine &quot;optimale&quot; Lösung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791807</guid><dc:creator><![CDATA[Jöran]]></dc:creator><pubDate>Tue, 13 Oct 2009 08:51:01 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 08:54:00 GMT]]></title><description><![CDATA[<p>Wenn du den Operator ausserhalb der Klasse definierst, musst Du die Struktur natürlich als innere Struktur dieser Klasse kennzeichnen.</p>
<pre><code class="language-cpp">AussereKlasse::m_TimeStruct operator+(AussereKlasse::m_TimeStruct const&amp; rhs, double a);
</code></pre>
<p>...Grundlagen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1791812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791812</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 13 Oct 2009 08:54:00 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 09:01:50 GMT]]></title><description><![CDATA[<p>Ok, hab ich versucht. Nochmal der Code dazu vielleicht.</p>
<p>header:</p>
<pre><code class="language-cpp">class Ctest01Dlg : public CDialog
{
private:
	...
	struct m_TimeStruct
	{
		int nDay, nMon, nYear, nHour, nMin;
		double fSec;
	};
	m_TimeStruct m_TimeGPS, m_TimeInitHiRes, m_TimeInitGPS;
	...
public:
	...
	Ctest01Dlg::m_TimeStruct operator + (Ctest01Dlg::struct m_TimeStruct p, double a);
};
</code></pre>
<p>cpp</p>
<pre><code class="language-cpp">m_TimeStruct Ctest01Dlg::operator + (m_TimeStruct p, double a)
{
	m_TimeStruct help;	
	return help;
}
</code></pre>
<p>ergibt:</p>
<p>1&gt;c:\applications\test01\test01\test01dlg.h(73) : error C2589: 'struct' : illegal token on right side of '::'<br />
1&gt;c:\applications\test01\test01\test01dlg.h(73) : error C2059: syntax error : '::'<br />
1&gt;test01Dlg.cpp<br />
1&gt;c:\applications\test01\test01\test01dlg.h(73) : error C2589: 'struct' : illegal token on right side of '::'<br />
1&gt;c:\applications\test01\test01\test01dlg.h(73) : error C2059: syntax error : '::'<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(517) : error C2143: syntax error : missing ';' before 'Ctest01Dlg::operator +'<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(517) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(518) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int<br />
1&gt;c:\applications\test01\test01\test01dlg.cpp(518) : error C2511: 'int Ctest01Dlg::operator +(Ctest01Dlg::m_TimeStruct,double)' : overloaded member function not found in 'Ctest01Dlg'<br />
1&gt; c:\applications\test01\test01\test01dlg.h(19) : see declaration of 'Ctest01Dlg'</p>
<p>Irgendwo häng ich...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791819</guid><dc:creator><![CDATA[Jöran]]></dc:creator><pubDate>Tue, 13 Oct 2009 09:01:50 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 09:40:32 GMT]]></title><description><![CDATA[<p>wo häng ich nur <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="🙂"
    /><br />
Bitte nochmal um Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791851</guid><dc:creator><![CDATA[Jöran]]></dc:creator><pubDate>Tue, 13 Oct 2009 09:40:32 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 10:31:54 GMT]]></title><description><![CDATA[<p>Du sollst den Operator als <strong>freie</strong> Funktion definieren. Nicht als Member von Ctest01Dlg oder von Ctest01Dlg::m_TimeStruct.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791878</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 13 Oct 2009 10:31:54 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 11:17:17 GMT]]></title><description><![CDATA[<p>Was heißt &quot;freie&quot; Funktion?</p>
<p>Außerhalb der Klasse?:</p>
<pre><code class="language-cpp">class bla
{
};

struct m_TimeStruct operator + (struct m_TimeStruct p, double a);
</code></pre>
<p>Und wie soll ich dann die Überladung in der cpp realisieren? Weil dann meckert er mir dort wieder rum, dass er net auf die privates der Klasse zugreifen kann etc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791903</guid><dc:creator><![CDATA[Jöran]]></dc:creator><pubDate>Tue, 13 Oct 2009 11:17:17 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 12:22:19 GMT]]></title><description><![CDATA[<p>ich komm nicht dahinter.. Wie muss das richtig aussehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791949</guid><dc:creator><![CDATA[Jöran]]></dc:creator><pubDate>Tue, 13 Oct 2009 12:22:19 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 12:42:04 GMT]]></title><description><![CDATA[<p>Probier es mal so:</p>
<pre><code>struct MyTimeStruct
{
    int nDay, nMon, nYear, nHour, nMin;
    double fSec;
};

MyTimeStruct operator + (MyTimeStruct p, double a)
{
    ...
}

class Ctest01Dlg : public CDialog
{
private:
    ...
    MyTimeStruct m_TimeGPS, m_TimeInitHiRes, m_TimeInitGPS;
    ...
public:
    ...
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1791958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791958</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Tue, 13 Oct 2009 12:42:04 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 12:55:03 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// test01Dlg.h : header file
//
#include &quot;string...

#pragma once

struct m_TimeStruct
{
    int nDay, nMon, nYear, nHour, nMin;
    double fSec;
};

m_TimeStruct operator + (m_TimeStruct p, double a)
{
    return p;
} 

// Ctest01Dlg dialog
class Ctest01Dlg : public CDialog
{
// Construction
public:
	Ctest01Dlg(CWnd* pParent = NULL);	// standard constructor	
	CListBox m_ctlLB1;

// Dialog Data
	enum { IDD = IDD_TEST01_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support

// Implementation
protected:
	...

private:
	...
	/*struct m_TimeStruct
	{
		int nDay, nMon, nYear, nHour, nMin;
		double fSec;
	};*/
	m_TimeStruct m_TimeGPS, m_TimeInitHiRes, m_TimeInitGPS;
	...

public:
	...

};
</code></pre>
<p>Jetzt bekomm ich 2 herbe Linker-Fehler, die ich nicht deuten kann.</p>
<p>1&gt;test01Dlg.obj : error LNK2005: &quot;struct m_TimeStruct __cdecl operator+(struct m_TimeStruct,double)&quot; (??H@YA?AUm_TimeStruct@@U0@N@Z) already defined in test01.obj</p>
<p>1&gt;C:\Applications\test01\Debug\test01.exe : fatal error LNK1169: one or more multiply defined symbols found</p>
<p>edit: in der cpp ist die überladung natürlich auch auskommentiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791964</guid><dc:creator><![CDATA[Jöran]]></dc:creator><pubDate>Tue, 13 Oct 2009 12:55:03 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 13:28:27 GMT]]></title><description><![CDATA[<p>ja, gut, was sucht die definition der überladung auch im header.</p>
<p>habs hinbekommen. trotzdem blöd, dass ich die struktur definition nicht in der klasse lassen kann.</p>
<p>dennoch danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1791994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1791994</guid><dc:creator><![CDATA[Jöran]]></dc:creator><pubDate>Tue, 13 Oct 2009 13:28:27 GMT</pubDate></item><item><title><![CDATA[Reply to Operator + überladen bei Struktur on Tue, 13 Oct 2009 15:13:26 GMT]]></title><description><![CDATA[<p>Jöran schrieb:</p>
<blockquote>
<p>trotzdem blöd, dass ich die struktur definition nicht in der klasse lassen kann.</p>
</blockquote>
<p>Kann sie doch. Jencas hat dich da wohl auf die falsche Fährte gelockt. dazu muss der op noch als friend von outer deklariert werden.<br />
Folgendes müsste gehn (kanns aber grad nicht sicher sagen):</p>
<pre><code class="language-cpp">class outer
{
  class inner
  {
    int i;
  };
  friend inner operator+(inner const&amp; lhs, double rhs);

  /*...*/
};

outer::inner operator+ (outer::inner const&amp; lhs, double rhs)
{
  /* ... */
}
</code></pre>
<p>Ohne Gewähr...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1792047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1792047</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 13 Oct 2009 15:13:26 GMT</pubDate></item></channel></rss>