<?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[kleiner c++-code; finde fehler nicht. HILFE.]]></title><description><![CDATA[<p>so, ich lerne mit viel mühe und FEHLER c++, aber diesmal komme ich nicht weiter.</p>
<p>habe folgenden einfachen code, um einen 2-dimensionalen vektor zu erstellen und den +-operator zu überladen.</p>
<pre><code class="language-cpp">class Vektor
{
   public:
  Vektor(){
  x=0;
  y=0;
  }
  Vektor(int a, int b):x(a), y(b){};

         Vektor &amp;operator+(const Vektor &amp;V){
         Vektor *z;
         z = new Vektor(x+V.x, y+V.y );
         return *z;
      }

  private:
        int x,y;

};

int main()
{
       int x,y, xx, yy;
     cout &lt;&lt; &quot;Bitte vom Vektor den x wert eingeben:&quot; &lt;&lt;  endl;
     cin &gt;&gt; x;
     cout &lt;&lt; &quot;Bitte vom Vektor den y wert eingeben:&quot; &lt;&lt;  endl;
        cin &gt;&gt; y;
        Vektor *V1;
        V1 = new Vektor(x,y);

        cout &lt;&lt; &quot;Bitte vom 2. Vektor den x wert eingeben:&quot; &lt;&lt;  endl;
     cin &gt;&gt; xx;
     cout &lt;&lt; &quot;Bitte vom 2.Vektor den y wert eingeben:&quot; &lt;&lt;  endl;
        cin &gt;&gt; yy;
        Vektor *V2;
        V2 = new Vektor(xx,yy);

          cout &lt;&lt; (*V1 + *V2) &lt;&lt; endl;  //Beide Vektoren sollen addiert ausgegeben werden

	return 0;
}
</code></pre>
<p>beim compilieren kriege ich den fehler &quot;illegal structure operation&quot;. WARUM? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/159761/kleiner-c-code-finde-fehler-nicht-hilfe</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 18:36:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/159761.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 18 Sep 2006 16:52:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to kleiner c++-code; finde fehler nicht. HILFE. on Mon, 18 Sep 2006 16:52:18 GMT]]></title><description><![CDATA[<p>so, ich lerne mit viel mühe und FEHLER c++, aber diesmal komme ich nicht weiter.</p>
<p>habe folgenden einfachen code, um einen 2-dimensionalen vektor zu erstellen und den +-operator zu überladen.</p>
<pre><code class="language-cpp">class Vektor
{
   public:
  Vektor(){
  x=0;
  y=0;
  }
  Vektor(int a, int b):x(a), y(b){};

         Vektor &amp;operator+(const Vektor &amp;V){
         Vektor *z;
         z = new Vektor(x+V.x, y+V.y );
         return *z;
      }

  private:
        int x,y;

};

int main()
{
       int x,y, xx, yy;
     cout &lt;&lt; &quot;Bitte vom Vektor den x wert eingeben:&quot; &lt;&lt;  endl;
     cin &gt;&gt; x;
     cout &lt;&lt; &quot;Bitte vom Vektor den y wert eingeben:&quot; &lt;&lt;  endl;
        cin &gt;&gt; y;
        Vektor *V1;
        V1 = new Vektor(x,y);

        cout &lt;&lt; &quot;Bitte vom 2. Vektor den x wert eingeben:&quot; &lt;&lt;  endl;
     cin &gt;&gt; xx;
     cout &lt;&lt; &quot;Bitte vom 2.Vektor den y wert eingeben:&quot; &lt;&lt;  endl;
        cin &gt;&gt; yy;
        Vektor *V2;
        V2 = new Vektor(xx,yy);

          cout &lt;&lt; (*V1 + *V2) &lt;&lt; endl;  //Beide Vektoren sollen addiert ausgegeben werden

	return 0;
}
</code></pre>
<p>beim compilieren kriege ich den fehler &quot;illegal structure operation&quot;. WARUM? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1139811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139811</guid><dc:creator><![CDATA[O-ta]]></dc:creator><pubDate>Mon, 18 Sep 2006 16:52:18 GMT</pubDate></item><item><title><![CDATA[Reply to kleiner c++-code; finde fehler nicht. HILFE. on Mon, 18 Sep 2006 17:20:27 GMT]]></title><description><![CDATA[<p>Hi,<br />
der op&lt;&lt; ist nicht für deinen Vektor überladen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1139845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139845</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 18 Sep 2006 17:20:27 GMT</pubDate></item><item><title><![CDATA[Reply to kleiner c++-code; finde fehler nicht. HILFE. on Mon, 18 Sep 2006 17:25:55 GMT]]></title><description><![CDATA[<p>mh dabei hatten wir doch schon einen thread hier zum them vektor und + operator überladen, wobei zu recht festgestellt wurde, dass es so keinen sinn macht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1139856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139856</guid><dc:creator><![CDATA[golden_jubilee]]></dc:creator><pubDate>Mon, 18 Sep 2006 17:25:55 GMT</pubDate></item><item><title><![CDATA[Reply to kleiner c++-code; finde fehler nicht. HILFE. on Mon, 18 Sep 2006 17:26:56 GMT]]></title><description><![CDATA[<p>und dein operator+ hat ein Speicherloch. Warum erstellst du den temporären Vektor überhaupt dynamisch?</p>
<pre><code class="language-cpp">Vektor operator+(const Vektor &amp;V)
{
   Vektor z(x+V.x, y+V.y );
   return z;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1139857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139857</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 18 Sep 2006 17:26:56 GMT</pubDate></item><item><title><![CDATA[Reply to kleiner c++-code; finde fehler nicht. HILFE. on Mon, 18 Sep 2006 20:31:54 GMT]]></title><description><![CDATA[<p>Braunstein schrieb:</p>
<blockquote>
<p>und dein operator+ hat ein Speicherloch. Warum erstellst du den temporären Vektor überhaupt dynamisch?</p>
<pre><code class="language-cpp">Vektor operator+(const Vektor &amp;V)
{
   Vektor z(x+V.x, y+V.y );
   return z;
}
</code></pre>
</blockquote>
<pre><code class="language-cpp">Vektor operator+(const Vektor &amp;V) const
{
   return Vektor(x+V.x, y+V.y );
}
</code></pre>
<pre><code class="language-cpp">class Vektor
{
  public:
  // ...

  float operator[]( int index ) const
  {
    assert( index &gt;= 0 &amp;&amp; index &lt; 2 );
    return ( &amp;x )[ index ];
  }

  float &amp;operator[]( int index )
  {
    assert( index &gt;= 0 &amp;&amp; index &lt; 2 );
    return ( &amp;x )[ index ];
  }

  private:
  // ...
}; 

std::ostream &amp;operator&lt;&lt;( std::ostream &amp;o, const Vektor &amp;v )
{
  o &lt;&lt; v[ 0 ] &lt;&lt; v[ 1 ]; 
  return o;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1140021</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1140021</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Mon, 18 Sep 2006 20:31:54 GMT</pubDate></item><item><title><![CDATA[Reply to kleiner c++-code; finde fehler nicht. HILFE. on Mon, 18 Sep 2006 21:13:22 GMT]]></title><description><![CDATA[<p>David_pb schrieb:</p>
<blockquote>
<pre><code class="language-cpp">float operator[]( int index ) const
  {
    assert( index &gt;= 0 &amp;&amp; index &lt; 2 );
    return ( &amp;x )[ index ];
  }
</code></pre>
</blockquote>
<p>Lieber hier ein const als Rückgabewert, damit man beim kompilieren schon den Fehler sieht, gleiches auch für den Paramtertypen, der lieber unsigned sein sollt bspw. size_t.</p>
<p>&quot;Bevorzuge Compiler-Meldungen gegenenüber &quot;komisches&quot; Laufzeitverhalten&quot;</p>
<p>Edit: Sry, ist ja lvalue, da sollte der Compiler auch schon meckern, aber const ist trotzdem schöner <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/1140040</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1140040</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 18 Sep 2006 21:13:22 GMT</pubDate></item></channel></rss>