<?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[Pointerfrage]]></title><description><![CDATA[<p>Ich bin in Sachen Pointer noch was wackelig auf den Beinen und brauche Hilfe:</p>
<pre><code>struct afterCommaCounter 
{    
    int counter;
    int iValue; 
    afterKommaCounter* pPossiblePartners[5]; 
};

afterKommaCounter oddPrices[50];
afterKommaCounter evenPrices[50];
</code></pre>
<p>Jeder Preis hat fünf Partner aus dem jeweils anderem Array. Die such ich und möchte die fünf Zeiger dann auf die Partner zeigen lassen. Das mache ich so:</p>
<pre><code>if((iAfterKomma % 2)==0)// Pärchen sollen gegenseitig auf sich zeigen
{           
    evenPrices[iIndex].pPossiblePartners[j] = &amp;oddPrices[iMatchesWith];
    oddPrices[iMatchesWith].pPossiblePartners[j] = &amp;evenPrices[iIndex];                
}    
else
{
    oddPrices[iIndex].pPossiblePartners[j] = &amp;evenPrices[iMatchesWith];
    evenPrices[iMatchesWith].pPossiblePartners[j] = &amp;oddPrices[iIndex];
}
</code></pre>
<p>An der Stelle bin ich mir schon nicht sicher, ob ich das richtig mache. Um es zu überprüfen versuche ich die Partner auszugeben. Ich will die Zeiger in dem einem Array benutzen um iValue in dem anderen Array auszugeben:</p>
<pre><code>cout &lt;&lt; evenPrices[i].*pPossiblePartners[j].iValue;
</code></pre>
<p>Bekommen tue ich nur eine Fehlermeldung:<br />
` pPossiblePartners' undeclared (first use this function)</p>
<p>Das ist zwar richtig, aber die Funktion ist ein Konstructor, der vorher eine Funktion aufgerufen hat die in beiden Arrays jeden Member jedes Structs brav initiiert hat.<br />
Mir wäre schon geholfen, wenn man mir sagen könnte, ob die Zeile</p>
<pre><code>cout &lt;&lt; evenPrices[i].*pPossiblePartners[j].iValue;
</code></pre>
<p>im Prinzip richtig ist, dann wüßte ich wo ich weitersuchen muss.<br />
Danke schon mal.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/193904/pointerfrage</link><generator>RSS for Node</generator><lastBuildDate>Mon, 28 Sep 2026 07:28:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/193904.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 01 Oct 2007 14:31:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pointerfrage on Mon, 01 Oct 2007 14:31:55 GMT]]></title><description><![CDATA[<p>Ich bin in Sachen Pointer noch was wackelig auf den Beinen und brauche Hilfe:</p>
<pre><code>struct afterCommaCounter 
{    
    int counter;
    int iValue; 
    afterKommaCounter* pPossiblePartners[5]; 
};

afterKommaCounter oddPrices[50];
afterKommaCounter evenPrices[50];
</code></pre>
<p>Jeder Preis hat fünf Partner aus dem jeweils anderem Array. Die such ich und möchte die fünf Zeiger dann auf die Partner zeigen lassen. Das mache ich so:</p>
<pre><code>if((iAfterKomma % 2)==0)// Pärchen sollen gegenseitig auf sich zeigen
{           
    evenPrices[iIndex].pPossiblePartners[j] = &amp;oddPrices[iMatchesWith];
    oddPrices[iMatchesWith].pPossiblePartners[j] = &amp;evenPrices[iIndex];                
}    
else
{
    oddPrices[iIndex].pPossiblePartners[j] = &amp;evenPrices[iMatchesWith];
    evenPrices[iMatchesWith].pPossiblePartners[j] = &amp;oddPrices[iIndex];
}
</code></pre>
<p>An der Stelle bin ich mir schon nicht sicher, ob ich das richtig mache. Um es zu überprüfen versuche ich die Partner auszugeben. Ich will die Zeiger in dem einem Array benutzen um iValue in dem anderen Array auszugeben:</p>
<pre><code>cout &lt;&lt; evenPrices[i].*pPossiblePartners[j].iValue;
</code></pre>
<p>Bekommen tue ich nur eine Fehlermeldung:<br />
` pPossiblePartners' undeclared (first use this function)</p>
<p>Das ist zwar richtig, aber die Funktion ist ein Konstructor, der vorher eine Funktion aufgerufen hat die in beiden Arrays jeden Member jedes Structs brav initiiert hat.<br />
Mir wäre schon geholfen, wenn man mir sagen könnte, ob die Zeile</p>
<pre><code>cout &lt;&lt; evenPrices[i].*pPossiblePartners[j].iValue;
</code></pre>
<p>im Prinzip richtig ist, dann wüßte ich wo ich weitersuchen muss.<br />
Danke schon mal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376035</guid><dc:creator><![CDATA[nils2]]></dc:creator><pubDate>Mon, 01 Oct 2007 14:31:55 GMT</pubDate></item><item><title><![CDATA[Reply to Pointerfrage on Mon, 01 Oct 2007 14:35:18 GMT]]></title><description><![CDATA[<p>Die Klammerungsregulung von * und . ist miserabel - und schon ohne die zusätzlichen Arrays mußt du Klammern setzen. Darum gibt es auch den Operator -&gt; als Kombination aus Dereferenzieren und Memberzugriff:</p>
<pre><code class="language-cpp">cout &lt;&lt; evenPrices[i].pPossiblePartners[j]-&gt;iValue;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1376038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376038</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 01 Oct 2007 14:35:18 GMT</pubDate></item><item><title><![CDATA[Reply to Pointerfrage on Mon, 01 Oct 2007 14:39:29 GMT]]></title><description><![CDATA[<p>Das ging schnell. Das wars. Vielen Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1376044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1376044</guid><dc:creator><![CDATA[nils2]]></dc:creator><pubDate>Mon, 01 Oct 2007 14:39:29 GMT</pubDate></item></channel></rss>