<?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[boost::tuple mit Funktionszeiger &amp;amp; g++ (Linux) -- will nicht compilieren]]></title><description><![CDATA[<p>Hallo,<br />
folgender Code:</p>
<pre><code class="language-cpp">template &lt; class param&gt; bool CCuboidTreeNode_callFunctionForAppendedCuboid
(CCuboidTreeNode* in_c, boost::tuples::tuple&lt;bool (*)(CCuboid*, param), param&gt; in_t)
{
	if (in_c-&gt;getIsLeaf())
	{
		assert(in_c-&gt;getCuboid());

		return (*in_t.get&lt;0&gt;())(in_c-&gt;getCuboid(), in_t.get&lt;1&gt;()); // Zeile 357
	}

	return true;
}
</code></pre>
<p>Ich will ihn mit g++ auch unter Linux compilieren (unter Windows mit Visual Studio 8 compiliert er einwandfrei). g++ meldet folgendes Problem:</p>
<blockquote>
<p>src/CubicObjects.h: In function »bool CCuboidTreeNode_callFunctionForAppendedCuboid(CCuboidTreeNode*, boost::tuples::tuple&lt;bool (<em>)(CCuboid</em>, param), param, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type&gt;)«:<br />
src/CubicObjects.h:357: Fehler: expected primary-expression before »)« token<br />
src/CubicObjects.h:357: Fehler: expected primary-expression before »)« token</p>
</blockquote>
<p>Worin könnte der Fehler liegen? (weitere Fehlermeldungen kommen übrigens nicht). Compilerversion von g++ ist übrigens &quot;g++ (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/196223/boost-tuple-mit-funktionszeiger-amp-g-linux-will-nicht-compilieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 09:16:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/196223.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 26 Oct 2007 23:23:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to boost::tuple mit Funktionszeiger &amp;amp; g++ (Linux) -- will nicht compilieren on Fri, 26 Oct 2007 23:26:12 GMT]]></title><description><![CDATA[<p>Hallo,<br />
folgender Code:</p>
<pre><code class="language-cpp">template &lt; class param&gt; bool CCuboidTreeNode_callFunctionForAppendedCuboid
(CCuboidTreeNode* in_c, boost::tuples::tuple&lt;bool (*)(CCuboid*, param), param&gt; in_t)
{
	if (in_c-&gt;getIsLeaf())
	{
		assert(in_c-&gt;getCuboid());

		return (*in_t.get&lt;0&gt;())(in_c-&gt;getCuboid(), in_t.get&lt;1&gt;()); // Zeile 357
	}

	return true;
}
</code></pre>
<p>Ich will ihn mit g++ auch unter Linux compilieren (unter Windows mit Visual Studio 8 compiliert er einwandfrei). g++ meldet folgendes Problem:</p>
<blockquote>
<p>src/CubicObjects.h: In function »bool CCuboidTreeNode_callFunctionForAppendedCuboid(CCuboidTreeNode*, boost::tuples::tuple&lt;bool (<em>)(CCuboid</em>, param), param, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type&gt;)«:<br />
src/CubicObjects.h:357: Fehler: expected primary-expression before »)« token<br />
src/CubicObjects.h:357: Fehler: expected primary-expression before »)« token</p>
</blockquote>
<p>Worin könnte der Fehler liegen? (weitere Fehlermeldungen kommen übrigens nicht). Compilerversion von g++ ist übrigens &quot;g++ (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392804</guid><dc:creator><![CDATA[wolfgke]]></dc:creator><pubDate>Fri, 26 Oct 2007 23:26:12 GMT</pubDate></item><item><title><![CDATA[Reply to boost::tuple mit Funktionszeiger &amp;amp; g++ (Linux) -- will nicht compilieren on Sat, 27 Oct 2007 07:41:40 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">return (*in_t.template get&lt;0&gt;())(in_c-&gt;getCuboid(), in_t.template get&lt;1&gt;());
</code></pre>
<p>... geht es so? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392845</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sat, 27 Oct 2007 07:41:40 GMT</pubDate></item><item><title><![CDATA[Reply to boost::tuple mit Funktionszeiger &amp;amp; g++ (Linux) -- will nicht compilieren on Sat, 27 Oct 2007 08:17:36 GMT]]></title><description><![CDATA[<p>Ja, wirklich herzlichen Dank, das funktioniert so (und ganz ehrlich: ich wäre nie im Leben darauf gekommen, dass man das so zum Laufen bekommt. <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/1392857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392857</guid><dc:creator><![CDATA[wolfgke]]></dc:creator><pubDate>Sat, 27 Oct 2007 08:17:36 GMT</pubDate></item><item><title><![CDATA[Reply to boost::tuple mit Funktionszeiger &amp;amp; g++ (Linux) -- will nicht compilieren on Sat, 27 Oct 2007 08:40:11 GMT]]></title><description><![CDATA[<p>Sollte im Standard bei 14.2/5 und 14.2/4 stehen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392867</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sat, 27 Oct 2007 08:40:11 GMT</pubDate></item><item><title><![CDATA[Reply to boost::tuple mit Funktionszeiger &amp;amp; g++ (Linux) -- will nicht compilieren on Sat, 27 Oct 2007 09:30:05 GMT]]></title><description><![CDATA[<p>Ich habe ein wenig gegooglet (wenn ich gezielt nach den Punkten von (D)Evil suche, finde ich auch etwas), warum das so implementiert wurde. Jetzt wird mir zumindest die Intention dahinter klar <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>
<p>Um nicht einen neuen Thread zu starten: auf ein weiteres Problem bin ich noch gestoßen beim Versuch meinen Code auf Linux zu portieren:</p>
<pre><code class="language-cpp">template &lt;class _T&gt; class TValueController
{
protected:
	_T&amp; mValue;

	virtual void correctValue() = 0;
	// ...
};

template &lt;class _T&gt; class TMinMaxValueController : public TValueController&lt;_T&gt;
{
protected:
	_T mMin, mMax;

	virtual void correctValue()
	{
		if ((*this)&lt;mMin)
		{
			this-&gt;mValue=mMin; // Zeile 94
		}
		// ...
	}
	//...
};
</code></pre>
<p>Hier beschwert sich der Compiler mit folgender Fehlermeldung:</p>
<pre><code>src/TValueController.h:94: Fehler: »mValue« wurde in diesem Gültigkeitsbereich nicht definiert
</code></pre>
<p>Ich brauche nicht zu erwähnen, dass ein bekannter Windows-Compiler den Code einwandfrei schluckte <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>
<p>Daher: ich bitte nochmal um Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392883</guid><dc:creator><![CDATA[wolfgke]]></dc:creator><pubDate>Sat, 27 Oct 2007 09:30:05 GMT</pubDate></item><item><title><![CDATA[Reply to boost::tuple mit Funktionszeiger &amp;amp; g++ (Linux) -- will nicht compilieren on Sat, 27 Oct 2007 09:40:02 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if ((*this) &lt; mMin)
    TValueController&lt;_T&gt;::mValue = mMin;
else if ((*this) &gt; mMax;
    TValueController&lt;_T&gt;::mValue = mMax;
</code></pre>
<p>evtl. sollte das gehen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392891</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sat, 27 Oct 2007 09:40:02 GMT</pubDate></item><item><title><![CDATA[Reply to boost::tuple mit Funktionszeiger &amp;amp; g++ (Linux) -- will nicht compilieren on Sat, 27 Oct 2007 09:47:54 GMT]]></title><description><![CDATA[<p>Ja, danke, funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392898</guid><dc:creator><![CDATA[wolfgke]]></dc:creator><pubDate>Sat, 27 Oct 2007 09:47:54 GMT</pubDate></item></channel></rss>