<?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[Porblem Arraypointer]]></title><description><![CDATA[<p>Hi, ich habe ein Problem mit eienm Array von Pointers</p>
<p>Zuerst mal meine Klassen:</p>
<pre><code>struct sFace {
sPoint* points[2];        
sCell*  neighCells[2];
sFace*  neighFaces[4];

double* neighPe[4];
double* neighF[4];}

struct sCell {
   sFace*   faces[4];  
   sPoint*  points[4];
   sCell*   neighCells[4];
}

and
curFace = &amp;data-&gt;faces[faceId];
curCell = &amp;data-&gt;cells[cellId];
</code></pre>
<p>Meien 1. Frage ist, warum ich den &amp; Operator in</p>
<pre><code>curFace-&gt;neighFaces[1]&amp;= curFace-&gt;neighCells[1]-&gt;faces[1];
</code></pre>
<p>nicht benutzen darf um die Adresse zuzuweisen</p>
<p>Meien 2. Frage: In</p>
<pre><code>curFace-&gt;neighPe[XP] = &amp;curFace-&gt;neighFaces[XP]-&gt;Pe[0];
</code></pre>
<p>muss ich den &amp;-Operator benutzen, aber bei</p>
<pre><code>x=fabs(curFace-&gt;neighPe[XP]);
</code></pre>
<p>meckert der Compiler, dass<br />
'convert 'double*' to 'double' for argument '1' to 'double fabs(double)'<br />
KAnn mir irgendwer weiterhelfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/339841/porblem-arraypointer</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 19:58:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/339841.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 02 Oct 2016 19:50:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Porblem Arraypointer on Sun, 02 Oct 2016 19:50:50 GMT]]></title><description><![CDATA[<p>Hi, ich habe ein Problem mit eienm Array von Pointers</p>
<p>Zuerst mal meine Klassen:</p>
<pre><code>struct sFace {
sPoint* points[2];        
sCell*  neighCells[2];
sFace*  neighFaces[4];

double* neighPe[4];
double* neighF[4];}

struct sCell {
   sFace*   faces[4];  
   sPoint*  points[4];
   sCell*   neighCells[4];
}

and
curFace = &amp;data-&gt;faces[faceId];
curCell = &amp;data-&gt;cells[cellId];
</code></pre>
<p>Meien 1. Frage ist, warum ich den &amp; Operator in</p>
<pre><code>curFace-&gt;neighFaces[1]&amp;= curFace-&gt;neighCells[1]-&gt;faces[1];
</code></pre>
<p>nicht benutzen darf um die Adresse zuzuweisen</p>
<p>Meien 2. Frage: In</p>
<pre><code>curFace-&gt;neighPe[XP] = &amp;curFace-&gt;neighFaces[XP]-&gt;Pe[0];
</code></pre>
<p>muss ich den &amp;-Operator benutzen, aber bei</p>
<pre><code>x=fabs(curFace-&gt;neighPe[XP]);
</code></pre>
<p>meckert der Compiler, dass<br />
'convert 'double*' to 'double' for argument '1' to 'double fabs(double)'<br />
KAnn mir irgendwer weiterhelfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510373</guid><dc:creator><![CDATA[NicolasKuchen]]></dc:creator><pubDate>Sun, 02 Oct 2016 19:50:50 GMT</pubDate></item><item><title><![CDATA[Reply to Porblem Arraypointer on Sun, 02 Oct 2016 20:54:34 GMT]]></title><description><![CDATA[<p>NicolasKuchen schrieb:</p>
<blockquote>
<p>bei</p>
<pre><code>x=fabs(curFace-&gt;neighPe[XP]);
</code></pre>
<p>meckert der Compiler, dass<br />
'convert 'double*' to 'double' for argument '1' to 'double fabs(double)'<br />
KAnn mir irgendwer weiterhelfen?</p>
</blockquote>
<p>Das ist doch einigermaßen offensichtlich:<br />
curFace-&gt;neighPe[XP] ist vom Typ double*<br />
die Funktion fabs möchte aber ein Argument vom Typ double</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510376</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Sun, 02 Oct 2016 20:54:34 GMT</pubDate></item><item><title><![CDATA[Reply to Porblem Arraypointer on Sun, 02 Oct 2016 22:11:08 GMT]]></title><description><![CDATA[<p>NicolasKuchen schrieb:</p>
<blockquote>
<p>Meien 1. Frage ist, warum ich den &amp; Operator in</p>
<pre><code>curFace-&gt;neighFaces[1]&amp;= curFace-&gt;neighCells[1]-&gt;faces[1];
</code></pre>
<p>nicht benutzen darf um die Adresse zuzuweisen</p>
</blockquote>
<p>Erstens: Rechtschreibung, Punktsetzung. Was stimmt mit den Leuten in letzter Zeit eigentlich nicht? Wollen Programme schreiben, kriegen aber nicht einmal einen vernünftigen Satz raus.</p>
<p>Zweitens: Hast du dir deinen Code mal genau angeschaut?</p>
<p>&lt;Pause&gt;</p>
<p>Wenn du jetzt spontan &quot;Ja&quot; gesagt hast, heißt das entweder, dass du lügst, oder dass du die Programmiersprache noch nicht kannst. Und dann solltest du nochmal gründlich in dein Lehrbuch schauen.</p>
<p>Analysieren wir:</p>
<p><code>neighFaces</code> ist ein Array von Zeigern auf <code>sFace</code> . <code>neighFaces[1]</code> greift also auf den zweiten Zeiger zu.</p>
<p><code>faces</code> ist ebenfalls ein Array von Zeigern auf <code>sFace</code> .</p>
<p>Spricht, wenn man auf beide Arrays zugreift, sind ihre Typen (Zeiger auf <code>sFace</code> ) kongruent.</p>
<p>Wieso du jetzt einem <strong>Zeiger</strong> die <strong>Adresse eines Zeigers</strong> und nicht <strong>den Zeiger selbst</strong> zuweisen willst, weißt wahrscheinlich nicht mal du. Ich weiß es in jedem Fall nicht. Zumal du auch eine völlig falsche Syntax verwendest, was du machst, ist nämlich ein bitweises AND mit Zuweisung ( <code>&amp;= x</code> ), nicht die Zuweisung einer Adresse ( <code>= &amp;x</code> ).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510380</guid><dc:creator><![CDATA[dachschaden]]></dc:creator><pubDate>Sun, 02 Oct 2016 22:11:08 GMT</pubDate></item></channel></rss>