<?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[Fehlermeldung zu struct.]]></title><description><![CDATA[<p>Hallo,<br />
versuche mich das erste mal an einem nicht ganz kleinen c++ Projekt, deshalb kann ich mit einigen Fehlermeldungen garnichts anfangen. Eigentlich möchte ich nur 2 structs deklarieren. Das gefällt dem Kompiler aber nicht:</p>
<p>struct KNOTEN {<br />
unsigned rang;<br />
unsigned vorgaenger;<br />
};</p>
<p>struct KANTE {<br />
/<em>hier schreibt er mir folgenden Fehler:<br />
KANTE&amp;KANTE::operator=(const KANTE)</em>/</p>
<p>unsigned index;<br />
unsigned anfangsknoten;<br />
unsigned endknoten;<br />
int gewicht;<br />
};</p>
<p>Kann mir jemand sagen, was das bedeutet?<br />
Und nochetwas Kleines: MUSS man Konstruktor und Destruktor in eine Klasse implementieren?<br />
Danke im voraus,<br />
Gruß Oliver.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/232201/fehlermeldung-zu-struct</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 09:13:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/232201.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 20 Jan 2009 11:34:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehlermeldung zu struct. on Tue, 20 Jan 2009 11:34:37 GMT]]></title><description><![CDATA[<p>Hallo,<br />
versuche mich das erste mal an einem nicht ganz kleinen c++ Projekt, deshalb kann ich mit einigen Fehlermeldungen garnichts anfangen. Eigentlich möchte ich nur 2 structs deklarieren. Das gefällt dem Kompiler aber nicht:</p>
<p>struct KNOTEN {<br />
unsigned rang;<br />
unsigned vorgaenger;<br />
};</p>
<p>struct KANTE {<br />
/<em>hier schreibt er mir folgenden Fehler:<br />
KANTE&amp;KANTE::operator=(const KANTE)</em>/</p>
<p>unsigned index;<br />
unsigned anfangsknoten;<br />
unsigned endknoten;<br />
int gewicht;<br />
};</p>
<p>Kann mir jemand sagen, was das bedeutet?<br />
Und nochetwas Kleines: MUSS man Konstruktor und Destruktor in eine Klasse implementieren?<br />
Danke im voraus,<br />
Gruß Oliver.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648773</guid><dc:creator><![CDATA[oliver1986]]></dc:creator><pubDate>Tue, 20 Jan 2009 11:34:37 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung zu struct. on Tue, 20 Jan 2009 11:44:31 GMT]]></title><description><![CDATA[<p>Hi.</p>
<p>Erstmal benutze doch bitte die cpp-Tags, um Code darzustellen. (unter den Smylies).</p>
<p>Also das ist nicht wirklich ein Fehler. Kannst du bitte die genaue Fehlermeldung + Compiler, den du benutzt posten?<br />
Einen Fehler sehe ich da nämlich nicht und unter MSVC++ 08 Express wird das ganze kompiliert ohne einen Fehler oder Warnung. (Das ausgeklammerte habe ich so gelassen).</p>
<p>Wenn das nicht der richtige Code ist,der den Fehler erzeugt, dann bitte den Vollständigen, da es sonst nicht viel bringt zu raten. <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>
<blockquote>
<p>Und nochetwas Kleines: MUSS man Konstruktor und Destruktor in eine Klasse implementieren?</p>
</blockquote>
<p>Nein. Aber deklarieren muss man ihn dort. Dann kannst du ihn in der .cpp definieren.</p>
<p>btw:<br />
Klassennamen in Grossbuchstaben zu schreiben ist eher unüblich und imo auch nicht schön/lesbar. (Normalerweise sind Makros alles in Grossbuchstaben).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648779</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 20 Jan 2009 11:44:31 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung zu struct. on Tue, 20 Jan 2009 12:28:11 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<blockquote>
<p>Und nochetwas Kleines: MUSS man Konstruktor und Destruktor in eine Klasse implementieren?</p>
</blockquote>
<p>Nein. Aber deklarieren muss man ihn dort. Dann kannst du ihn in der .cpp definieren.</p>
</blockquote>
<p>Das stimmt so nicht. Man muss einen Konstruktor weder deklarieren noch definieren. Wenn man es nicht tut, dann macht das der Compiler für einen. Das gleiche gilt für den Destruktor, den Copy-Konstruktor und den Zuweisungsoperator.<br />
In vielen Fällen tun diese Standardfunktionen aber nicht das, was der Programmierer will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648801</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 20 Jan 2009 12:28:11 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung zu struct. on Tue, 20 Jan 2009 12:42:10 GMT]]></title><description><![CDATA[<p>Tachyon schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<blockquote>
<p>Und nochetwas Kleines: MUSS man Konstruktor und Destruktor in eine Klasse implementieren?</p>
</blockquote>
<p>Nein. Aber deklarieren muss man ihn dort. Dann kannst du ihn in der .cpp definieren.</p>
</blockquote>
<p>Das stimmt so nicht. Man muss einen Konstruktor weder deklarieren noch definieren. Wenn man es nicht tut, dann macht das der Compiler für einen. Das gleiche gilt für den Destruktor, den Copy-Konstruktor und den Zuweisungsoperator.</p>
</blockquote>
<p>Ja, sorry, ich habe die Frage falsch betont gelesen. Ich habe es so verstanden, WENN man einen implementiert und nicht allgemein.</p>
<blockquote>
<p>In vielen Fällen tun diese Standardfunktionen aber nicht das, was der Programmierer will.</p>
</blockquote>
<p>Da kann ich leider aber nicht ganz zustimmen. Also besonders beim &quot;vielen&quot;. Ich schreibe mir eine Klasse, die das gefährliche für mich übernimmt und habe dann einfach diese Klasse bei der &quot;richtigen&quot; Benutztung. Also kann ich mich oft auf die Compiler generierten Funktionen verlassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648816</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 20 Jan 2009 12:42:10 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung zu struct. on Wed, 21 Jan 2009 09:27:51 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Da kann ich leider aber nicht ganz zustimmen. Also besonders beim &quot;vielen&quot;. Ich schreibe mir eine Klasse, die das gefährliche für mich übernimmt und habe dann einfach diese Klasse bei der &quot;richtigen&quot; Benutztung. Also kann ich mich oft auf die Compiler generierten Funktionen verlassen.</p>
</blockquote>
<p>RAII-Klassen muss man erstmal schreiben, und selbst wenn Du in der &quot;richtigen&quot; Klasse die RAII-Klasse benutzt, sind das trotzdem viele Fälle. Das gleiche gilt für Container. Man hat vielleicht nicht so oft Berührung damit, aber es sind trotzdem sehr viele Fälle, wo das ganze im Hintergrund werkelt. Darauf bezog ich mich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1649369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649369</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 21 Jan 2009 09:27:51 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung zu struct. on Wed, 21 Jan 2009 13:58:18 GMT]]></title><description><![CDATA[<p>Also erstmal vielen Dank für die schnellen Antworten. Ich versuch mal lieber allgemeiner zu fragen, einzelne Fehlermeldungen können ja an Kleinigkeiten liegen. Also ich möchte einen vector aus structs (namens KANTE) per Referenz an die sortieren-funktion übergeben, danach den sortierten vektor weiterverwenden. So sieht das bei mir aus:</p>
<p>void sortieren(vector&lt;KANTE&gt; &amp;K) {<br />
std::sort(K.begin(), K.end(), kantenvgl /*hab ich vorher definiert*/);<br />
}; //Def. von sortieren</p>
<p>std::vector&lt;KANTE&gt; temp; //... fülle vektor, danach :<br />
vector&lt;KANTE&gt; &amp;auftemp=temp<br />
sortieren(auftemp);<br />
weiterefunktion(auftemp);</p>
<p>Das klappt nicht. Könnt ihr mir helfen?<br />
Gruß Oliver.</p>
<p>P.S. wofür sind die cpp tags denn gut? Ich brauch doch keine deltas und epsilons <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/1649587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649587</guid><dc:creator><![CDATA[oliver1986]]></dc:creator><pubDate>Wed, 21 Jan 2009 13:58:18 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung zu struct. on Wed, 21 Jan 2009 14:33:28 GMT]]></title><description><![CDATA[<p>oliver1986 schrieb:</p>
<blockquote>
<p>P.S. wofür sind die cpp tags denn gut? Ich brauch doch keine deltas und epsilons <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>
</blockquote>
<p>Der Code wird durch die Tags mit Syntaxhighlighting usw. dargestellt und ist somit viel lesbarer. Schau einfach mal in die anderen threads im Forum, dort wirst du das fast überall sehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1649614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649614</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 21 Jan 2009 14:33:28 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung zu struct. on Wed, 21 Jan 2009 18:03:59 GMT]]></title><description><![CDATA[<p>Du solltest vielleicht einmal genauer ansagen, was nicht geht. Ob es nicht kompiliert oder einfach nicht das macht, was du willst. Dafür sind die Fehlermeldungen schon recht praktisch..</p>
<p>Hier ein Beispiel, dass wunderbar funktioniert:</p>
<pre><code class="language-cpp">void sort ( std::vector&lt;int&gt;&amp; v )
{
	std::sort ( v.begin (), v.end () );
}

void out ( const std::vector&lt;int&gt; &amp; v )
{
	for ( std::vector&lt;int&gt;::size_type i = 0 ; i &lt; v.size () ; i++ )
	{
		std::cout &lt;&lt; v[i] &lt;&lt; &quot;\n&quot;;
	}
}	

int main ()
{	
	std::vector&lt;int&gt; vec;
	vec.push_back ( 5 );
	vec.push_back ( 8 );
	vec.push_back ( 1 );

	std::cout &lt;&lt; &quot;vorher: &quot; &lt;&lt; std::endl;
	out ( vec );

	sort ( vec );
	std::cout &lt;&lt; &quot;nachher: &quot; &lt;&lt; std::endl;
	out ( vec );
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1649733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649733</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 21 Jan 2009 18:03:59 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlermeldung zu struct. on Thu, 22 Jan 2009 12:04:12 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void sortieren(vector&lt;KANTE&gt; &amp;K) { 
std::sort(K.begin(), K.end(), kantenvgl /*hab ich vorher definiert*/); 
}; //Def. von sortieren 

std::vector&lt;KANTE&gt; temp; //... fülle vektor, danach : 
vector&lt;KANTE&gt; &amp;auftemp=temp 
sortieren(auftemp); 
weiterefunktion(auftemp);
</code></pre>
<p>So sähe das Ganze mit C++-Tags aus. Jetzt noch richtig einrücken, und dann ist es schon fast perfekt...</p>
<p>Wie schon gesagt: Was geht denn nicht? Liegt der Fehler in <code>sortieren()</code> ? Das Vergleichsprädikat funktioniert? Und weshalb erstellst du eine lokale Referenz <code>auftemp</code> und übergibst die, anstatt gleich <code>temp</code> zu übergeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1650115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1650115</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 22 Jan 2009 12:04:12 GMT</pubDate></item></channel></rss>