<?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[STL:List sortieren]]></title><description><![CDATA[<p>Hi,</p>
<p>irgenwie will die Funktion zum sortieren meiner Liste nicht so ganz klappen:</p>
<pre><code class="language-cpp">class ObjectManager
{

private:
			list &lt;Object&gt; objectliste;

public:

		ObjectManager();
		~ObjectManager();
		void read_from_textfile();
		void kennzahlen_ausgeben() const;
		void objecte_ausgeben() const;
		bool compareProfit(const Object&amp; left, const Object&amp; right);
		void sortieren();

};
</code></pre>
<pre><code class="language-cpp">bool ObjectManager::compareProfit(const Object&amp; left, const Object&amp; right)
{
	return left.get_profit() &lt; right.get_profit();
}

void ObjectManager::sortieren()
{
	objectliste.sort(compareProfit);
	//objectliste.sort();
}
</code></pre>
<p>Fehlermeldung:</p>
<pre><code>error C3867: 'ObjectManager::compareProfit': function call missing argument list; use '&amp;ObjectManager::compareProfit' to create a pointer to member
error C2660: 'std::list&lt;_Ty&gt;::sort' : function does not take 1 arguments
</code></pre>
<p>Könnte mir evt. eine weiterhelfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/244004/stl-list-sortieren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 15:38:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/244004.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 23 Jun 2009 22:16:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to STL:List sortieren on Tue, 23 Jun 2009 22:16:08 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>irgenwie will die Funktion zum sortieren meiner Liste nicht so ganz klappen:</p>
<pre><code class="language-cpp">class ObjectManager
{

private:
			list &lt;Object&gt; objectliste;

public:

		ObjectManager();
		~ObjectManager();
		void read_from_textfile();
		void kennzahlen_ausgeben() const;
		void objecte_ausgeben() const;
		bool compareProfit(const Object&amp; left, const Object&amp; right);
		void sortieren();

};
</code></pre>
<pre><code class="language-cpp">bool ObjectManager::compareProfit(const Object&amp; left, const Object&amp; right)
{
	return left.get_profit() &lt; right.get_profit();
}

void ObjectManager::sortieren()
{
	objectliste.sort(compareProfit);
	//objectliste.sort();
}
</code></pre>
<p>Fehlermeldung:</p>
<pre><code>error C3867: 'ObjectManager::compareProfit': function call missing argument list; use '&amp;ObjectManager::compareProfit' to create a pointer to member
error C2660: 'std::list&lt;_Ty&gt;::sort' : function does not take 1 arguments
</code></pre>
<p>Könnte mir evt. eine weiterhelfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731848</guid><dc:creator><![CDATA[Krikus]]></dc:creator><pubDate>Tue, 23 Jun 2009 22:16:08 GMT</pubDate></item><item><title><![CDATA[Reply to STL:List sortieren on Tue, 23 Jun 2009 22:26:17 GMT]]></title><description><![CDATA[<p>-----v<br />
<code>static bool compareProfit(const Object&amp; left, const Object&amp; right);</code></p>
<p>ist dir auch klar, wieso?</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731852</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 23 Jun 2009 22:26:17 GMT</pubDate></item><item><title><![CDATA[Reply to STL:List sortieren on Tue, 23 Jun 2009 22:32:20 GMT]]></title><description><![CDATA[<p>Danke für die Info.<br />
Es funktioniert nun, aber warum weiß ich nicht genau.<br />
Ich weiß nur das dieses Static dafür sorgen soll, dass nur eine Instanz erzeugt wird.</p>
<p>Du bist aber sicher so freundlich und erklärst es mir.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731856</guid><dc:creator><![CDATA[Krikus]]></dc:creator><pubDate>Tue, 23 Jun 2009 22:32:20 GMT</pubDate></item><item><title><![CDATA[Reply to STL:List sortieren on Tue, 23 Jun 2009 22:33:08 GMT]]></title><description><![CDATA[<p>Wenn es ihm klar wäre, hätte er vermutlich nicht gefragt <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/1731857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731857</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 23 Jun 2009 22:33:08 GMT</pubDate></item><item><title><![CDATA[Reply to STL:List sortieren on Tue, 23 Jun 2009 23:26:45 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Wenn es ihm klar wäre, hätte er vermutlich nicht gefragt <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>Hmm... Naja - manchmal sieht man den Wald vor lauter Bäumen nicht - hätt ja auch hier zutreffen können...</p>
<p>Krikus schrieb:</p>
<blockquote>
<p>Du bist aber sicher so freundlich und erklärst es mir.</p>
</blockquote>
<p>ich versuch es mal... ^^</p>
<pre><code class="language-cpp">class ObjectManager
{
  void a();
  // a(ObjectManager* this)
  void b(int);
  // b(ObjectManager* this, int)
  static void c();
  // c()
  static void d(int);
  // d()
};

void a();
// a()
void b(int)
// b(int)
</code></pre>
<p>Als Kommentare hab ich dir mal die Signaturen mit hingeschrieben - wie du siehst, haben member-Funktionen noch einen &quot;unsichtbaren nullten&quot; parameter:<br />
den Zeiger, den du als <code>this</code> kennst.<br />
Das ist so, weil die Fkt ja für jede Instanz gleich ist, eben nur mit anderen Adressen (in gleicher Art und Weise) arbeitet.</p>
<p>Also muss man nachher irgendwann wissen, welche Instanz denn jetzt eigentlich gemeint ist - das wird eben mit dem this-zeiger gelöst.</p>
<p>Du hast also versucht eine Member-Fkt zu übergeben - deren Signatur war aber (deshalb) eben falsch.</p>
<p>Ist vll nicht die beste Erklärung, aber ich hoffe, sie reicht ^^</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1731868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1731868</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 23 Jun 2009 23:26:45 GMT</pubDate></item></channel></rss>