<?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[ich bekomme nur Speicheradressen ausgegeben (anstatt der gespeicherten Werte), obwohl ich garnicht mit Pointern arbeite]]></title><description><![CDATA[<p>ich arbeite mit einem vector&lt;DiagRun&gt;, den ich zwar &quot;beschreiben&quot; und &quot;lesen&quot; kann, jedoch bekommme ich nur Speicheadressen ausgegeben.</p>
<p>warum bekomme ich nur die Speicheradressen?!?</p>
<p>thx4help</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;iostream&gt;
struct DiagRun
{
       DiagRun(Koord startpos, int sc, int lae){ //Constructor
           int score= sc;
           int laenge = lae;
           Koord start = startpos;                     
       }

       int score;
       int laenge;
       Koord start;              
};

struct Koord {  
      Koord(){
             int m,n;
             } 
    Koord(int x, int y){
        m= x;
        n= y;
    }

    int m,n;
};

int main(){

    Koord temp (3,4); 
    Koord start1 (5,7); 

    vector&lt;DiagRun&gt; testvector;
    DiagRun temp2(start1, 15, 12); 
    testvector.push_back(temp2);

    cout &lt;&lt; testvector.at(0).start.m; 
        //hier sollte 5 ausgegeben werden (start1.m)
        //es wird eine 7-stellige Zahl ausgegeben (vermutlich eine Adresse?!?)
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/131206/ich-bekomme-nur-speicheradressen-ausgegeben-anstatt-der-gespeicherten-werte-obwohl-ich-garnicht-mit-pointern-arbeite</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 02:38:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/131206.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 01 Jan 2006 12:51:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ich bekomme nur Speicheradressen ausgegeben (anstatt der gespeicherten Werte), obwohl ich garnicht mit Pointern arbeite on Sun, 01 Jan 2006 12:51:37 GMT]]></title><description><![CDATA[<p>ich arbeite mit einem vector&lt;DiagRun&gt;, den ich zwar &quot;beschreiben&quot; und &quot;lesen&quot; kann, jedoch bekommme ich nur Speicheadressen ausgegeben.</p>
<p>warum bekomme ich nur die Speicheradressen?!?</p>
<p>thx4help</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;iostream&gt;
struct DiagRun
{
       DiagRun(Koord startpos, int sc, int lae){ //Constructor
           int score= sc;
           int laenge = lae;
           Koord start = startpos;                     
       }

       int score;
       int laenge;
       Koord start;              
};

struct Koord {  
      Koord(){
             int m,n;
             } 
    Koord(int x, int y){
        m= x;
        n= y;
    }

    int m,n;
};

int main(){

    Koord temp (3,4); 
    Koord start1 (5,7); 

    vector&lt;DiagRun&gt; testvector;
    DiagRun temp2(start1, 15, 12); 
    testvector.push_back(temp2);

    cout &lt;&lt; testvector.at(0).start.m; 
        //hier sollte 5 ausgegeben werden (start1.m)
        //es wird eine 7-stellige Zahl ausgegeben (vermutlich eine Adresse?!?)
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/953956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/953956</guid><dc:creator><![CDATA[K.A.]]></dc:creator><pubDate>Sun, 01 Jan 2006 12:51:37 GMT</pubDate></item><item><title><![CDATA[Reply to ich bekomme nur Speicheradressen ausgegeben (anstatt der gespeicherten Werte), obwohl ich garnicht mit Pointern arbeite on Sun, 01 Jan 2006 13:08:08 GMT]]></title><description><![CDATA[<p>Dein Compiler sollte aber erstmals einiges zu meckern haben bevor er das kompiliert.</p>
<p>Wieso hast du in den Konstruktoren die Variablen nochmal neu definiert:</p>
<pre><code class="language-cpp">DiagRun(Koord startpos, int sc, int lae){ //Constructor
           int score = sc;
           int laenge = lae;
           Koord start = startpos;                    
       }
...
Koord(){
             int m,n;
             }
</code></pre>
<p>Sie sind ja schon Elemente der Klasse und wenn du sie nochmal in den Konstruktoren neu definierst und ihn dann was zuweist, dann werden nur den lokalen Variablen was zugewiesen die anderen Elementvariablen werden nicht beachtet, da sie von den lokalen überdeckt werden.</p>
<p>Behebe diesen und paar andere kleine Fehler und es sollte Funktionieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/953963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/953963</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 01 Jan 2006 13:08:08 GMT</pubDate></item><item><title><![CDATA[Reply to ich bekomme nur Speicheradressen ausgegeben (anstatt der gespeicherten Werte), obwohl ich garnicht mit Pointern arbeite on Sun, 01 Jan 2006 13:13:08 GMT]]></title><description><![CDATA[<p>sorry,</p>
<p>ich habe copy&amp;Paste gemacht und danch nicht mehr gecheckt, ob es funktioniert! jetzt wird es zwar kompeliert, doch wird immer noch nicht das richtige ergebnis ausgegeben. Anstatt der korrekten Ausgabe 5 kommt jetzt ne null!!</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;

using namespace std;

struct Koord { 
        int m;
        int n;
      Koord(){
             int m,n;
             } 

    Koord(int x, int y){
        m= x;
        n= y;
    }

    bool Koord::lt(const Koord&amp; k) const;

     void init (){
          m=0;
          n=0;
     }

};

struct DiagRun
{
       DiagRun(Koord startpos, int sc, int lae){ //Constructor
           int score= sc;
           int laenge = lae;
           Koord start = startpos;                     
       }

       int score;
       int laenge;
       Koord start;              
};

int main(){    

    vector&lt;DiagRun&gt; testvector;
    Koord temp (3,4);
    Koord start1 (5,7);
    DiagRun temp2(start1, 15, 12);
    testvector.push_back(temp2);

    cout &lt;&lt; testvector[0].start.m;
        //hier sollte 5 ausgegeben werden (start1.m)
        //es wird nun eine 0 ausgegeben (vorher wars ne Speicheradresse...)
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/953971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/953971</guid><dc:creator><![CDATA[K.A.]]></dc:creator><pubDate>Sun, 01 Jan 2006 13:13:08 GMT</pubDate></item><item><title><![CDATA[Reply to ich bekomme nur Speicheradressen ausgegeben (anstatt der gespeicherten Werte), obwohl ich garnicht mit Pointern arbeite on Sun, 01 Jan 2006 13:17:08 GMT]]></title><description><![CDATA[<p>@Freak-Coder: das war der Fehler. Ich habe deine Nachricht erst nach meinem zweiten Post gelesen. Dnake für eure Mühe bei meinem &quot;Scheißcode&quot;</p>
<p>PS: ich wusste nicht, dass man beim Constructor die Variablen nicht neu deklarieren muss!!</p>
<p>THX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/953974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/953974</guid><dc:creator><![CDATA[K.A.]]></dc:creator><pubDate>Sun, 01 Jan 2006 13:17:08 GMT</pubDate></item><item><title><![CDATA[Reply to ich bekomme nur Speicheradressen ausgegeben (anstatt der gespeicherten Werte), obwohl ich garnicht mit Pointern arbeite on Sun, 01 Jan 2006 16:35:04 GMT]]></title><description><![CDATA[<p>Was soll das?</p>
<pre><code class="language-cpp">Koord(){
             int m,n;
             }
</code></pre>
<p>Was bringt das?</p>
<pre><code class="language-cpp">DiagRun(Koord startpos, int sc, int lae){ //Constructor
           int score= sc;
           int laenge = lae;
           Koord start = startpos;                    
       }
</code></pre>
<p>???</p>
<p>mach das erste mal ganz weg und ändere das Zweite in</p>
<pre><code class="language-cpp">DiagRun(Koord startpos, int sc, int lae)
{
           score= sc;
           laenge = lae;
           start = startpos;                    
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/954156</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/954156</guid><dc:creator><![CDATA[FischIt]]></dc:creator><pubDate>Sun, 01 Jan 2006 16:35:04 GMT</pubDate></item><item><title><![CDATA[Reply to ich bekomme nur Speicheradressen ausgegeben (anstatt der gespeicherten Werte), obwohl ich garnicht mit Pointern arbeite on Sun, 01 Jan 2006 17:54:07 GMT]]></title><description><![CDATA[<p>K.A. schrieb:</p>
<blockquote>
<pre><code class="language-cpp">struct Koord { 
        int m;
        int n;
      Koord(){
             int m,n;
             } 
           
    Koord(int x, int y){
        m= x;
        n= y;
    }
</code></pre>
</blockquote>
<p>und bei Konstruktoren immer schön Initialisierungslisten verwenden. Dann passieren solche Fehler erst gar nicht.</p>
<pre><code class="language-cpp">struct Koord { 
    int m;
    int n;

    Koord()
        : m( 0 )
        , n( 0 ) 
    {}

    Koord(int x, int y)
        : m( x )
        , n( y ) 
    {}
</code></pre>
<p>K.A. schrieb:</p>
<blockquote>
<pre><code class="language-cpp">bool Koord::lt(const Koord&amp; k) const;
</code></pre>
</blockquote>
<p>ich unterstelle mal, dass 'lt' &quot;less than&quot; heißen soll. Dann mach doch gleich</p>
<pre><code class="language-cpp">bool Koord::operator&lt;(const Koord&amp; k) const;
</code></pre>
<p>wobei man 'Koord::' innerhalb der Klassen-Definition i.a. wegläßt.</p>
<p>K.A. schrieb:</p>
<blockquote>
<pre><code class="language-cpp">void init (){
          m=0;
          n=0;
     }
</code></pre>
</blockquote>
<p>solche init-Methoden sind immer ein Hinweis auf ein Fehl-Design. Vorschlag: weglassen</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/954210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/954210</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Sun, 01 Jan 2006 17:54:07 GMT</pubDate></item><item><title><![CDATA[Reply to ich bekomme nur Speicheradressen ausgegeben (anstatt der gespeicherten Werte), obwohl ich garnicht mit Pointern arbeite on Sun, 01 Jan 2006 22:53:11 GMT]]></title><description><![CDATA[<p>Muss man wegen</p>
<pre><code class="language-cpp">DiagRun(Koord startpos, int sc, int lae)
</code></pre>
<p>nicht den = Operator implementieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/954366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/954366</guid><dc:creator><![CDATA[moe szyslak]]></dc:creator><pubDate>Sun, 01 Jan 2006 22:53:11 GMT</pubDate></item><item><title><![CDATA[Reply to ich bekomme nur Speicheradressen ausgegeben (anstatt der gespeicherten Werte), obwohl ich garnicht mit Pointern arbeite on Mon, 02 Jan 2006 11:29:03 GMT]]></title><description><![CDATA[<p>moe szyslak schrieb:</p>
<blockquote>
<p>Muss man wegen</p>
<pre><code class="language-cpp">DiagRun(Koord startpos, int sc, int lae)
</code></pre>
<p>nicht den = Operator implementieren?</p>
</blockquote>
<p>Man muss nie aufgrund der Konstruktor-Signatur einen Zuweisungsoperator implementieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/954594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/954594</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 02 Jan 2006 11:29:03 GMT</pubDate></item></channel></rss>