<?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[Problem mit STL Algorithmus Funktion aus der Standardbibliothek]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich bin ein blutiger Anfänger und beschäftige mich gerade mit dem Buch &quot;Jetzt lerne ich C++&quot; aus der Markt und Technik Reihe.<br />
Jedenfalls sollte ich folgenden Code zu dem Thema STL Algorithmen und Container abtippen und zum Laufen bringen.</p>
<pre><code>#include &lt;functional&gt;
#include &lt;algorithm&gt;
#include &lt;conio.h&gt;
#include &lt;deque&gt;
using namespace std;

//Generator fuer ungerade Zufallszahlen
int get_ungerade()
{
	int zufallszahl;
	zufallszahl = rand() % 10000;
	if(! (zufallszahl &amp; 1L))
		return zufallszahl + 1;
	else 
		return zufallszahl;
}

//Iterator definieren
typedef deque&lt;int&gt;::iterator iter;

int main()
{
	deque&lt;int&gt; container(5);

	//Werte initialisieren
	generate(container.begin(), container.end(), get_ungerade());

	//Werte hinzufügen
	container.insert(container.end(), 6, get_ungerade());

	//Werte sortieren
	stable_sort(container.begin(), container.end(), less&lt;int&gt;());

	//Werte ausgeben
	int count = 1;
	for(iter i = container.begin(); i != container.end(); i++)
	{
		cout &lt;&lt; count++ &lt;&lt;  &quot;: &quot; &lt;&lt; *i &lt;&lt; endl;
	}

	getch();
	return 0;
}
</code></pre>
<p>Das Programm erstellt einen Container und füllt diesen mit 5 Zufallszahlen.<br />
Zusätzlich werden weitere 6 Zufallszahlen hinzugefügt (zur Veranschaulichung der Funktion container.insert()).<br />
Am Ende wird der Container mithilfe eines Iterators durchlaufen und die Werte werden ausgegeben.</p>
<p>Beim Kompilieren tritt jedoch folgender Fehler auf.</p>
<pre><code>error C2064: Ausdruck ergibt keine Funktion, die 0 Argumente übernimmt
</code></pre>
<p>mit Verweis auf die Funktion generate() aus der Standardbibliothek, die ich im Programm verwende.</p>
<p>Ich konnte bisher keine Lösung für das Problem finden.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/288575/problem-mit-stl-algorithmus-funktion-aus-der-standardbibliothek</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 22:00:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/288575.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 19 Jun 2011 14:08:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit STL Algorithmus Funktion aus der Standardbibliothek on Sun, 19 Jun 2011 14:08:38 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich bin ein blutiger Anfänger und beschäftige mich gerade mit dem Buch &quot;Jetzt lerne ich C++&quot; aus der Markt und Technik Reihe.<br />
Jedenfalls sollte ich folgenden Code zu dem Thema STL Algorithmen und Container abtippen und zum Laufen bringen.</p>
<pre><code>#include &lt;functional&gt;
#include &lt;algorithm&gt;
#include &lt;conio.h&gt;
#include &lt;deque&gt;
using namespace std;

//Generator fuer ungerade Zufallszahlen
int get_ungerade()
{
	int zufallszahl;
	zufallszahl = rand() % 10000;
	if(! (zufallszahl &amp; 1L))
		return zufallszahl + 1;
	else 
		return zufallszahl;
}

//Iterator definieren
typedef deque&lt;int&gt;::iterator iter;

int main()
{
	deque&lt;int&gt; container(5);

	//Werte initialisieren
	generate(container.begin(), container.end(), get_ungerade());

	//Werte hinzufügen
	container.insert(container.end(), 6, get_ungerade());

	//Werte sortieren
	stable_sort(container.begin(), container.end(), less&lt;int&gt;());

	//Werte ausgeben
	int count = 1;
	for(iter i = container.begin(); i != container.end(); i++)
	{
		cout &lt;&lt; count++ &lt;&lt;  &quot;: &quot; &lt;&lt; *i &lt;&lt; endl;
	}

	getch();
	return 0;
}
</code></pre>
<p>Das Programm erstellt einen Container und füllt diesen mit 5 Zufallszahlen.<br />
Zusätzlich werden weitere 6 Zufallszahlen hinzugefügt (zur Veranschaulichung der Funktion container.insert()).<br />
Am Ende wird der Container mithilfe eines Iterators durchlaufen und die Werte werden ausgegeben.</p>
<p>Beim Kompilieren tritt jedoch folgender Fehler auf.</p>
<pre><code>error C2064: Ausdruck ergibt keine Funktion, die 0 Argumente übernimmt
</code></pre>
<p>mit Verweis auf die Funktion generate() aus der Standardbibliothek, die ich im Programm verwende.</p>
<p>Ich konnte bisher keine Lösung für das Problem finden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2080615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080615</guid><dc:creator><![CDATA[croatoa12]]></dc:creator><pubDate>Sun, 19 Jun 2011 14:08:38 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit STL Algorithmus Funktion aus der Standardbibliothek on Sun, 19 Jun 2011 14:15:54 GMT]]></title><description><![CDATA[<p>generate erwartet dort irgendetwas, dass man aufrufen kann, einenZiger auf eine Funktion oder ein Objekt mit () OPerator zum Beispiel. Du übergibst aber ein int, nämlich das Ergenis eines get_ungerade() Aufrufs. Richtig wäre ein Ziger auf die Funktion:</p>
<pre><code class="language-cpp">generate(container.begin(), container.end(), &amp;get_ungerade);
// oder einfach
generate(container.begin(), container.end(), get_ungerade);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2080618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080618</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Sun, 19 Jun 2011 14:15:54 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit STL Algorithmus Funktion aus der Standardbibliothek on Sun, 19 Jun 2011 14:23:14 GMT]]></title><description><![CDATA[<p>Und ich glaube nicht, dass <code>container.insert(container.end(), 6, get_ungerade());</code> das macht, was du denkst. Das ruft get_ungerade() nämlich einmal auf und fügt dann 6x ein. Der Unterschied zwischen generate und insert sollte mit der Erklärung von brotbernd klar sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2080623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080623</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 19 Jun 2011 14:23:14 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit STL Algorithmus Funktion aus der Standardbibliothek on Sun, 19 Jun 2011 14:35:47 GMT]]></title><description><![CDATA[<p>ah ok...<br />
habs grad ausprobiert und es funktioniert.</p>
<p>Naja, so wie du es beschrieben hast stand es eigentlich auch im Buch.<br />
Ich hab es aber für einen Fehler gehalten und get_ungerade() geschrieben anstelle von get_ungerade, da mir diese Schreibweise von Funktionen gänzlich unbekannt war. Dazu wurde im Buch auch gar nichts geschrieben.<br />
Die haben es einfach ins Programm gehauen ohne dass es vorher beschrieben wurde <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>naja , jedenfalls Vielen Dank man <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2080627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2080627</guid><dc:creator><![CDATA[croatoa12]]></dc:creator><pubDate>Sun, 19 Jun 2011 14:35:47 GMT</pubDate></item></channel></rss>