<?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[()-Operator + dynamic class]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe mal wieder ein Problem..<br />
Und zwar habe ich mir in einer Klasse den ()-Operator überladen:</p>
<pre><code class="language-cpp">class XYZ
{
public:
    int operator() (const std::string&amp; str;)
    {
        /*
         *
         */
        return 42;
    }
</code></pre>
<p>Diese Klasse leg ich dann dynamisch an und will den Operator benutzen:</p>
<pre><code class="language-cpp">int main()
{
    XYZ* x = new x;

    int i = x(&quot;BLA&quot;);
}
</code></pre>
<p>Nun krieg ich aber eine Fehlermeldung in der Zeile wo ich den Operator benutze:</p>
<pre><code>error C2064: Ausdruck ergibt keine Funktion, die 1 Argumente übernimmt
</code></pre>
<p>Geht sowas in dynamischen Klassen nicht oder hab ich irgendwas nicht beachtet?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/276148/operator-dynamic-class</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 11:01:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/276148.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 27 Oct 2010 15:56:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ()-Operator + dynamic class on Wed, 27 Oct 2010 15:56:54 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe mal wieder ein Problem..<br />
Und zwar habe ich mir in einer Klasse den ()-Operator überladen:</p>
<pre><code class="language-cpp">class XYZ
{
public:
    int operator() (const std::string&amp; str;)
    {
        /*
         *
         */
        return 42;
    }
</code></pre>
<p>Diese Klasse leg ich dann dynamisch an und will den Operator benutzen:</p>
<pre><code class="language-cpp">int main()
{
    XYZ* x = new x;

    int i = x(&quot;BLA&quot;);
}
</code></pre>
<p>Nun krieg ich aber eine Fehlermeldung in der Zeile wo ich den Operator benutze:</p>
<pre><code>error C2064: Ausdruck ergibt keine Funktion, die 1 Argumente übernimmt
</code></pre>
<p>Geht sowas in dynamischen Klassen nicht oder hab ich irgendwas nicht beachtet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971572</guid><dc:creator><![CDATA[NEO.PIXEL]]></dc:creator><pubDate>Wed, 27 Oct 2010 15:56:54 GMT</pubDate></item><item><title><![CDATA[Reply to ()-Operator + dynamic class on Wed, 27 Oct 2010 15:59:12 GMT]]></title><description><![CDATA[<p>Ein Pointer auf ein Objekt muss dereferenziert werden, bevor man Methoden der Klasse aufrufen kann. Siehe operator -&gt; und der unäre operator *.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971576</guid><dc:creator><![CDATA[Nukularfüsiker]]></dc:creator><pubDate>Wed, 27 Oct 2010 15:59:12 GMT</pubDate></item><item><title><![CDATA[Reply to ()-Operator + dynamic class on Wed, 27 Oct 2010 16:08:19 GMT]]></title><description><![CDATA[<p>Es gibt genau zwei Möglichkeiten die funktionieren <em>könnten</em>:</p>
<pre><code class="language-cpp">x-&gt;(&quot;Bla&quot;);
(*x)(&quot;Bla&quot;);
</code></pre>
<p>Btw: Pointer verwendet heuzutage niemand mehr; die Alternative sind <a href="http://magazin.c-plusplus.net/artikel/Schlaue%20Zeiger%20-%20Boost%20Smart%20Pointer" rel="nofollow">Smart Pointer</a> (das Problem bleibt aber das gleiche).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971579</guid><dc:creator><![CDATA[Logische Konsequenz]]></dc:creator><pubDate>Wed, 27 Oct 2010 16:08:19 GMT</pubDate></item><item><title><![CDATA[Reply to ()-Operator + dynamic class on Wed, 27 Oct 2010 16:12:00 GMT]]></title><description><![CDATA[<p>Logische Konsequenz schrieb:</p>
<blockquote>
<p>Btw: Pointer verwendet heuzutage niemand mehr...</p>
</blockquote>
<p>Falsch. Du magst recht liegen wenn es um die Datenhaltung geht, aber es gibt auch Verweise die mit normalen Zeigern sinnvoll sind.</p>
<p>Edit: Und selbst bei der Datenhaltung gibt es noch Alternativen zu den Smartpointern (z.B. die Pointercontainer von Boost).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971582</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 27 Oct 2010 16:12:00 GMT</pubDate></item><item><title><![CDATA[Reply to ()-Operator + dynamic class on Wed, 27 Oct 2010 16:14:21 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">x-&gt;(&quot;Bla&quot;);
(*x)(&quot;Bla&quot;);
</code></pre>
<p>Hatte ich beides schon ausprobiert..</p>
<p>Da meckert der Compiler zwar nicht mehr, aber das Programm verreckt..?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971588</guid><dc:creator><![CDATA[NEO.PIXEL]]></dc:creator><pubDate>Wed, 27 Oct 2010 16:14:21 GMT</pubDate></item><item><title><![CDATA[Reply to ()-Operator + dynamic class on Wed, 27 Oct 2010 16:14:59 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/14941">@asc</a>: ich gebe zu, das war etwas überspitzt formuliert (verwende selber ab und zu Pointer).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971590</guid><dc:creator><![CDATA[Logische Konsequenz]]></dc:creator><pubDate>Wed, 27 Oct 2010 16:14:59 GMT</pubDate></item><item><title><![CDATA[Reply to ()-Operator + dynamic class on Wed, 27 Oct 2010 16:17:40 GMT]]></title><description><![CDATA[<p>NEO.PIXEL schrieb:</p>
<blockquote>
<p>Da meckert der Compiler zwar nicht mehr, aber das Programm verreckt..?</p>
</blockquote>
<p>Ungültiges Objekt? Fehler im Operator?<br />
Debugger benutzt um zu prüfen wo genau der Absturz ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971593</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 27 Oct 2010 16:17:40 GMT</pubDate></item><item><title><![CDATA[Reply to ()-Operator + dynamic class on Wed, 27 Oct 2010 16:19:29 GMT]]></title><description><![CDATA[<p>Folgender Code:</p>
<pre><code class="language-cpp">struct XYZ {
  int operator() (const std::string&amp; str)
  {
    std::cout &lt;&lt; str &lt;&lt; &quot; = &quot;; return 42;
  }
};
int main()
{
  XYZ *x = new XYZ;
  std::cout &lt;&lt; (*x)(&quot;hallo&quot;) &lt;&lt; std::endl;
}
</code></pre>
<p>funktioniert bei mir ohne Probleme, der Fehler muss woanders liegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971594</guid><dc:creator><![CDATA[Logische Konsequenz]]></dc:creator><pubDate>Wed, 27 Oct 2010 16:19:29 GMT</pubDate></item><item><title><![CDATA[Reply to ()-Operator + dynamic class on Wed, 27 Oct 2010 16:30:48 GMT]]></title><description><![CDATA[<p>Bei mir jetzt auch..</p>
<p>Hab einen Vector gößer eingeschätzt als er eigentlich ist und denn dann versucht auszugeben..</p>
<p>*peinlich* <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Aber danke für die schnelle Hilfe <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/1971600</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971600</guid><dc:creator><![CDATA[NEO.PIXEL]]></dc:creator><pubDate>Wed, 27 Oct 2010 16:30:48 GMT</pubDate></item><item><title><![CDATA[Reply to ()-Operator + dynamic class on Wed, 27 Oct 2010 17:53:02 GMT]]></title><description><![CDATA[<p>dafür haben vectoren die funktion end()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971650</guid><dc:creator><![CDATA[Iteratoren!]]></dc:creator><pubDate>Wed, 27 Oct 2010 17:53:02 GMT</pubDate></item><item><title><![CDATA[Reply to ()-Operator + dynamic class on Wed, 27 Oct 2010 18:23:17 GMT]]></title><description><![CDATA[<p>Iteratoren! schrieb:</p>
<blockquote>
<p>dafür haben vectoren die funktion end()</p>
</blockquote>
<p>Und size()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971659</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Wed, 27 Oct 2010 18:23:17 GMT</pubDate></item><item><title><![CDATA[Reply to ()-Operator + dynamic class on Wed, 27 Oct 2010 21:21:07 GMT]]></title><description><![CDATA[<p>Ich weiß.. Die Ausgabe war auch nur zu Testzwecken und da hab ich dann einfach mal geraten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Naja aus Fehlern lernt man</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971749</guid><dc:creator><![CDATA[NEO.PIXEL]]></dc:creator><pubDate>Wed, 27 Oct 2010 21:21:07 GMT</pubDate></item><item><title><![CDATA[Reply to ()-Operator + dynamic class on Thu, 28 Oct 2010 08:54:14 GMT]]></title><description><![CDATA[<p>Geraten ist gut:</p>
<pre><code class="language-cpp">// mal schauen, ob ich eine Ausgabe erhalte -)
for(int i=42; i&lt;4711; ++i)
  cout &lt;&lt; v[i];
</code></pre>
<p><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/1971833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971833</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Thu, 28 Oct 2010 08:54:14 GMT</pubDate></item><item><title><![CDATA[Reply to ()-Operator + dynamic class on Thu, 28 Oct 2010 20:19:41 GMT]]></title><description><![CDATA[<p>NEO.PIXEL schrieb:</p>
<blockquote>
<pre><code class="language-cpp">int main()
{
    XYZ* x = new x;

    int i = x(&quot;BLA&quot;);
}
</code></pre>
</blockquote>
<p>Wo gibst du den Speicher wieder frei? Auch wenn es nur ein Minimalbeispiel ist, würde ich mir saubere Deallokation immer gleich angewöhnen. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1972119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1972119</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 28 Oct 2010 20:19:41 GMT</pubDate></item><item><title><![CDATA[Reply to ()-Operator + dynamic class on Fri, 29 Oct 2010 14:51:24 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12954">@Nexus</a>:</p>
<p>Das vermisste 'delete' ist im Programm natürlich vorhanden.. Das hier war ein minimales Minimalbeispiel <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1972377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1972377</guid><dc:creator><![CDATA[NEO.PIXEL]]></dc:creator><pubDate>Fri, 29 Oct 2010 14:51:24 GMT</pubDate></item></channel></rss>