<?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[vector mit pfeilen nach gewicht sortieren]]></title><description><![CDATA[<p>nabend,<br />
ich habe folgendes problem. ich habe einen vector der lauter pfeile eines graphen enthält. jeder pfeil hat den wert gewicht. ich würde nun gern den vector nach den gewichten der pfeile sorten.</p>
<p>und dann den vector sortiert zurückgeben. leider schaffe ich das iwie nicht mit der sort-methode und der komparator... hier mal was ich probiert habe mit der fehlermeldung:</p>
<pre><code class="language-cpp">bool comparision (pfeil a, pfeil b) 
{
	return (a.getGewicht&lt;b.getGewicht); 
}

vector&lt;pfeil&gt; sortVectorPfeil(vector&lt;pfeil&gt; myVector)
{
	sort (myVector.begin(), myVector.end(), comparision);
	return myVector;
}
</code></pre>
<pre><code>1&gt;d:\....\main.cpp(298) : error C3867: &quot;pfeil::getGewicht&quot;: Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie &quot;&amp;pfeil::getGewicht&quot;, um einen Zeiger auf den Member zu erstellen.
1&gt;d:\....\main.cpp(298) : error C3867: &quot;pfeil::getGewicht&quot;: Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie &quot;&amp;pfeil::getGewicht&quot;, um einen Zeiger auf den Member zu erstellen.
1&gt;d:\....\main.cpp(298) : error C2296: '&lt;': Ungültig, da der linke Operand vom Typ 'int (__thiscall pfeil::* )(void)' ist
1&gt;d:\....\main.cpp(298) : error C2297: '&lt;': Ungültig, da der rechte Operand vom Typ 'int (__thiscall pfeil::* )(void)' ist
</code></pre>
<p>wäre nett, wenn jemand rat wüsste... ist sicherlich nur ein anfänger fehler, glaube ich... vielen dank für die hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/241675/vector-mit-pfeilen-nach-gewicht-sortieren</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 07:47:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/241675.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 24 May 2009 14:09:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to vector mit pfeilen nach gewicht sortieren on Sun, 24 May 2009 14:09:27 GMT]]></title><description><![CDATA[<p>nabend,<br />
ich habe folgendes problem. ich habe einen vector der lauter pfeile eines graphen enthält. jeder pfeil hat den wert gewicht. ich würde nun gern den vector nach den gewichten der pfeile sorten.</p>
<p>und dann den vector sortiert zurückgeben. leider schaffe ich das iwie nicht mit der sort-methode und der komparator... hier mal was ich probiert habe mit der fehlermeldung:</p>
<pre><code class="language-cpp">bool comparision (pfeil a, pfeil b) 
{
	return (a.getGewicht&lt;b.getGewicht); 
}

vector&lt;pfeil&gt; sortVectorPfeil(vector&lt;pfeil&gt; myVector)
{
	sort (myVector.begin(), myVector.end(), comparision);
	return myVector;
}
</code></pre>
<pre><code>1&gt;d:\....\main.cpp(298) : error C3867: &quot;pfeil::getGewicht&quot;: Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie &quot;&amp;pfeil::getGewicht&quot;, um einen Zeiger auf den Member zu erstellen.
1&gt;d:\....\main.cpp(298) : error C3867: &quot;pfeil::getGewicht&quot;: Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie &quot;&amp;pfeil::getGewicht&quot;, um einen Zeiger auf den Member zu erstellen.
1&gt;d:\....\main.cpp(298) : error C2296: '&lt;': Ungültig, da der linke Operand vom Typ 'int (__thiscall pfeil::* )(void)' ist
1&gt;d:\....\main.cpp(298) : error C2297: '&lt;': Ungültig, da der rechte Operand vom Typ 'int (__thiscall pfeil::* )(void)' ist
</code></pre>
<p>wäre nett, wenn jemand rat wüsste... ist sicherlich nur ein anfänger fehler, glaube ich... vielen dank für die hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714964</guid><dc:creator><![CDATA[palmdale]]></dc:creator><pubDate>Sun, 24 May 2009 14:09:27 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit pfeilen nach gewicht sortieren on Sun, 24 May 2009 14:20:43 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">bool comparision (const pfeil&amp; a, const pfeil&amp; b)
{
    return ( a.getGewicht() &lt; b.getGewicht() );
}

vector&lt;pfeil&gt; sortVectorPfeil(vector&lt;pfeil&gt;&amp; myVector)
{
    sort (myVector.begin(), myVector.end(), comparision);
    return myVector;
}
</code></pre>
<p>Ich habe mir erlaubt noch ein paar andere Änderungen einzufügen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714968</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 24 May 2009 14:20:43 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit pfeilen nach gewicht sortieren on Sun, 24 May 2009 14:30:50 GMT]]></title><description><![CDATA[<p>super danke dir funktioniert. was hatte ich denn falsch gemacht? kannste mir das iwie erklären? will nicht einfach so den code kopieren, sondern das verstehen.</p>
<p>ich musste allerdings die const vor den parametern wieder rausnehmen, da ich sonst folgende fehlermeldung bekommen habe:</p>
<blockquote>
<p>main.cpp(301) : error C2662: 'pfeil::getGewicht': this-Zeiger kann nicht von 'const pfeil' in 'pfeil &amp;' konvertiert werden</p>
</blockquote>
<p>vielen dank nochmal, sehr schnelle hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714975</guid><dc:creator><![CDATA[palmdale]]></dc:creator><pubDate>Sun, 24 May 2009 14:30:50 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit pfeilen nach gewicht sortieren on Sun, 24 May 2009 14:44:00 GMT]]></title><description><![CDATA[<p>palmdale schrieb:</p>
<blockquote>
<p>was hatte ich denn falsch gemacht?</p>
</blockquote>
<p>Zum Beispiel bei <code>getGewicht</code> die Parameterliste und bei <code>myVector</code> die Referenz vergessen.</p>
<p>palmdale schrieb:</p>
<blockquote>
<p>ich musste allerdings die const vor den parametern wieder rausnehmen, da ich sonst folgende fehlermeldung bekommen habe:</p>
</blockquote>
<p>Nein, du solltest besser deine Memberfunktionen, die nichts am Objekt ändern, <code>const</code> -qualifizieren:</p>
<pre><code class="language-cpp">float pfeil::getGewicht() const // &lt;--
{
    return gewicht;
}
</code></pre>
<p>P.S.: drakon, es macht normalerweise nicht sehr viel Sinn, einen Vector zu sortieren und eine sortierte Kopie zurückzugeben. <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="😉"
    /><br />
Naheliegender wäre wohl eine der folgenden Möglichkeiten:</p>
<pre><code class="language-cpp">// Kopiert myVector, sortiert die Kopie und gibt diese zurück. myVector bleibt unverändert.
vector&lt;pfeil&gt; sortVectorPfeil(const vector&lt;pfeil&gt;&amp; myVector) 
{ 
    vector&lt;pfeil&gt; newVector(myVector);
    sort (newVector.begin(), newVector.end(), comparision); 
    return newVector; 
}

// Sortiert myVector direkt.
void sortVectorPfeil(vector&lt;pfeil&gt;&amp; myVector) 
{ 
    sort (myVector.begin(), myVector.end(), comparision); 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1714979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714979</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 24 May 2009 14:44:00 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit pfeilen nach gewicht sortieren on Sun, 24 May 2009 14:39:44 GMT]]></title><description><![CDATA[<p>da fehlt wo noch einiges am grundlagenverständnis...</p>
<p>erst mal zum eigentlichen fehler:<br />
<code>error C3867: &quot;pfeil::getGewicht&quot;: Dem Funktionsaufruf fehlt die Argumentliste.</code><br />
getGewicht ist also eine Funktion - nur, dass du eben die Klammern weggelassen hast - genau das meinte der Compiler hier (die Argumentliste ist zwar in dem Fall leer, aber du hast eben nich ma die Klammern hingeschrieben...)</p>
<p>nun zum neuen fehler:<br />
funktionen, die an dem objekt nichts verändern (z.bsp. Getter), werden als const definiert - allerdings hast du das nicht gemacht - wenn du ein const hinter die Fkt an sich schreiben würdest, würde es auch so gehen:</p>
<pre><code class="language-cpp">class vector
{
  /*...*/
  int GetGewicht() const;
}
</code></pre>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714981</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 24 May 2009 14:39:44 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit pfeilen nach gewicht sortieren on Sun, 24 May 2009 15:24:55 GMT]]></title><description><![CDATA[<p>got it! super danke euch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1714996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1714996</guid><dc:creator><![CDATA[palmdale]]></dc:creator><pubDate>Sun, 24 May 2009 15:24:55 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit pfeilen nach gewicht sortieren on Mon, 25 May 2009 11:41:10 GMT]]></title><description><![CDATA[<p>Kopie zurückgeben sollte man bei komplexen Daten tunlichst vermeiden, die Version mit Referenzen ist also vorzuziehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1715345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1715345</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Mon, 25 May 2009 11:41:10 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit pfeilen nach gewicht sortieren on Mon, 25 May 2009 14:34:30 GMT]]></title><description><![CDATA[<p>jencas schrieb:</p>
<blockquote>
<p>Kopie zurückgeben sollte man bei komplexen Daten tunlichst vermeiden, die Version mit Referenzen ist also vorzuziehen.</p>
</blockquote>
<p>Man sollte es vermeiden, wenn es sich _später_ als Flaschenhals entpuppt - oder wenn man nen uralten Compiler nimmt, der noch kein (N)RVO beherrscht...<br />
Aber ansonsten super, dass du den wohl unqualifiziertesten Beitrag in diesem Thread gegeben hast...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1715500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1715500</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Mon, 25 May 2009 14:34:30 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit pfeilen nach gewicht sortieren on Mon, 25 May 2009 15:12:57 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>Aber ansonsten super, dass du den wohl unqualifiziertesten Beitrag in diesem Thread gegeben hast...</p>
</blockquote>
<p>Hat er nicht, spar dir die Beleidigungen.</p>
<p>Sein Einwand ist durchaus gerechtfertigt, wenn er es auch etwas übertrieben hat. Es ist besser, man durchdenkt sein Design so, dass man sich nicht ständig auf irgendwelche Compileroptimierungen verlässt, die mal wirken, mal nicht. Und entgegen der verbreiteten Meinung darf man sich auch Gedanken über Performance machen, bevor man stundenlang vor dem Profiler hockt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1715527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1715527</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 25 May 2009 15:12:57 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit pfeilen nach gewicht sortieren on Mon, 25 May 2009 15:48:42 GMT]]></title><description><![CDATA[<p>Du würdest also eine _eventuelle_ Verbesserung der Performance wählen, wenn du dafür Fkt. wesentlich unintuitiver verwenden musst? Oo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1715559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1715559</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Mon, 25 May 2009 15:48:42 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit pfeilen nach gewicht sortieren on Mon, 25 May 2009 19:21:41 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>Du würdest also eine _eventuelle_ Verbesserung der Performance wählen, wenn du dafür Fkt. wesentlich unintuitiver verwenden musst? Oo</p>
</blockquote>
<p>Wenn ich es mir nicht leisten kann, an dieser Stelle Performance zu riskieren und ich auf mehreren Compilern (von denen möglicherweise nicht alle gleich optimieren können) dasselbe erreichen will, ja. Wenn es natürlich nur um kleine Datenmengen geht, die Performance nicht entscheidend ist oder ich einen Rückgabewert wirklich brauche, nein.</p>
<p>Gegenfrage: Du würdest ein möglicherweise gravierendes Performanceproblem riskieren, nur um deine Funktion &quot;intuitiver&quot; (worüber sich sowieso streiten lässt) zu gestalten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1715654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1715654</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 25 May 2009 19:21:41 GMT</pubDate></item><item><title><![CDATA[Reply to vector mit pfeilen nach gewicht sortieren on Mon, 25 May 2009 21:56:06 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Gegenfrage: Du würdest ein möglicherweise gravierendes Performanceproblem riskieren, nur um deine Funktion &quot;intuitiver&quot; (worüber sich sowieso streiten lässt) zu gestalten?</p>
</blockquote>
<p>Hmm... Japp, würd ich ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1715746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1715746</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Mon, 25 May 2009 21:56:06 GMT</pubDate></item></channel></rss>