<?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[Merkwürdige Fehlermeldung aufgrund von std::pair]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe in einem Programm von mir eine Plugin Engine in Lua integriert.<br />
Diese läuft via Maps, das sieht so aus:</p>
<pre><code class="language-cpp">std::map &lt;int, Lauch&gt; LuaPlugins;
</code></pre>
<p>Lauch ist hier meine Lua-Handlerclasse, die den Speicher verwaltet (also initialisiert und bei der Zerstörung auch den Pointer auf die eigentliche Lua-Klasse freigibt, quasi ein Smart Pointer).</p>
<p>Als Test hab ich in der main-Funktion folgenden Code:</p>
<pre><code class="language-cpp">Lauch testlauch();
window-&gt;LuaPlugins.insert( std::pair &lt;int, Lauch&gt; (window-&gt;PluginCounter, testlauch) );
std::map &lt;int, Lauch&gt;::iterator Iterator = window-&gt;LuaPlugins.find(window-&gt;PluginCounter); // iterator für das eingetragene Plugin
</code></pre>
<p>Da wird mir beim kompilieren allerdings folgender (merkwürdiger?) Fehler ausgegeben:</p>
<pre><code>se_main.cpp: In member function ‘virtual bool SEMain::OnInit()’:
se_main.cpp:28: error: no matching function for call to ‘std::pair&lt;int, Lauch&gt;::pair(int&amp;, Lauch (&amp;)())’
/usr/include/c++/4.4/bits/stl_pair.h:83: note: candidates are: std::pair&lt;_T1, _T2&gt;::pair(const _T1&amp;, const _T2&amp;) [with _T1 = int, _T2 = Lauch]
/usr/include/c++/4.4/bits/stl_pair.h:79: note:                 std::pair&lt;_T1, _T2&gt;::pair() [with _T1 = int, _T2 = Lauch]
/usr/include/c++/4.4/bits/stl_pair.h:68: note:                 std::pair&lt;int, Lauch&gt;::pair(const std::pair&lt;int, Lauch&gt;&amp;)
</code></pre>
<p>Das ganze wurde mit der GCC(g++) auf openSuSE 11.2 kompiliert (was eigentlich nichts ausmachen dürfte..).</p>
<p>Auf jeden Fall frage ich mich, was mir der Compiler da sagen möchte..<br />
Hat vllt. jemand Ahnung von sowas? ;O</p>
<p>lg.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/289347/merkwürdige-fehlermeldung-aufgrund-von-std-pair</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 05:44:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/289347.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 02 Jul 2011 22:36:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Merkwürdige Fehlermeldung aufgrund von std::pair on Sat, 02 Jul 2011 22:36:10 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe in einem Programm von mir eine Plugin Engine in Lua integriert.<br />
Diese läuft via Maps, das sieht so aus:</p>
<pre><code class="language-cpp">std::map &lt;int, Lauch&gt; LuaPlugins;
</code></pre>
<p>Lauch ist hier meine Lua-Handlerclasse, die den Speicher verwaltet (also initialisiert und bei der Zerstörung auch den Pointer auf die eigentliche Lua-Klasse freigibt, quasi ein Smart Pointer).</p>
<p>Als Test hab ich in der main-Funktion folgenden Code:</p>
<pre><code class="language-cpp">Lauch testlauch();
window-&gt;LuaPlugins.insert( std::pair &lt;int, Lauch&gt; (window-&gt;PluginCounter, testlauch) );
std::map &lt;int, Lauch&gt;::iterator Iterator = window-&gt;LuaPlugins.find(window-&gt;PluginCounter); // iterator für das eingetragene Plugin
</code></pre>
<p>Da wird mir beim kompilieren allerdings folgender (merkwürdiger?) Fehler ausgegeben:</p>
<pre><code>se_main.cpp: In member function ‘virtual bool SEMain::OnInit()’:
se_main.cpp:28: error: no matching function for call to ‘std::pair&lt;int, Lauch&gt;::pair(int&amp;, Lauch (&amp;)())’
/usr/include/c++/4.4/bits/stl_pair.h:83: note: candidates are: std::pair&lt;_T1, _T2&gt;::pair(const _T1&amp;, const _T2&amp;) [with _T1 = int, _T2 = Lauch]
/usr/include/c++/4.4/bits/stl_pair.h:79: note:                 std::pair&lt;_T1, _T2&gt;::pair() [with _T1 = int, _T2 = Lauch]
/usr/include/c++/4.4/bits/stl_pair.h:68: note:                 std::pair&lt;int, Lauch&gt;::pair(const std::pair&lt;int, Lauch&gt;&amp;)
</code></pre>
<p>Das ganze wurde mit der GCC(g++) auf openSuSE 11.2 kompiliert (was eigentlich nichts ausmachen dürfte..).</p>
<p>Auf jeden Fall frage ich mich, was mir der Compiler da sagen möchte..<br />
Hat vllt. jemand Ahnung von sowas? ;O</p>
<p>lg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2087950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2087950</guid><dc:creator><![CDATA[immapoint]]></dc:creator><pubDate>Sat, 02 Jul 2011 22:36:10 GMT</pubDate></item><item><title><![CDATA[Reply to Merkwürdige Fehlermeldung aufgrund von std::pair on Sat, 02 Jul 2011 22:39:02 GMT]]></title><description><![CDATA[<p>Der Fehler liegt bereits in Zeile 27 deiner main.cpp - <code>testLaunch</code> ist kein default-konstruiertes Objekt, sondern die Deklaration einer parameterlosen Funktion. Wenn du die Klammern weglässt, müsste es funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2087953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2087953</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 02 Jul 2011 22:39:02 GMT</pubDate></item></channel></rss>