<?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[Hallo! Ich komme hier leider nicht klar mit Makro AV....]]></title><description><![CDATA[<p>#define AV(x) ((x)&gt;=o?(x+x):(x))<br />
int x=1;<br />
int erg=AV(x++);<br />
wenn AV(1) ist,dann kommt bei define wahr, also 1+1<br />
und was ist mit egr ????</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/312376/hallo-ich-komme-hier-leider-nicht-klar-mit-makro-av</link><generator>RSS for Node</generator><lastBuildDate>Sun, 02 Aug 2026 23:45:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/312376.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 03 Jan 2013 11:45:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Hallo! Ich komme hier leider nicht klar mit Makro AV.... on Thu, 03 Jan 2013 11:45:09 GMT]]></title><description><![CDATA[<p>#define AV(x) ((x)&gt;=o?(x+x):(x))<br />
int x=1;<br />
int erg=AV(x++);<br />
wenn AV(1) ist,dann kommt bei define wahr, also 1+1<br />
und was ist mit egr ????</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285643</guid><dc:creator><![CDATA[Jana Dorn]]></dc:creator><pubDate>Thu, 03 Jan 2013 11:45:09 GMT</pubDate></item><item><title><![CDATA[Reply to Hallo! Ich komme hier leider nicht klar mit Makro AV.... on Thu, 03 Jan 2013 12:09:04 GMT]]></title><description><![CDATA[<p>Makros sind reine, dumme Textersetzung durch den Präprozessor. Das heißt, bei dir sieht der Compiler (denn der Präprozessor kommt vor dem Compiler dran):</p>
<pre><code>int x = 1;
int erg = ((x++) &gt;= 0 ? (x+++x++) : (x++));
</code></pre>
<p>Und das Ergebnis dieses Ausdrucks ist bekanntlich undefiniert ohne Ende.</p>
<p>Dies ist einer der typischen Fallstricke von Makros. In C++ hast du keinerlei Grund, jemals Makros als Funktionsersatz zu benutzen. Und auch allgemein gibt es fast keine Gründe für Makronutzung in C++, außer Includeguards. Lass es einfach. Mit einer Funktion wäre dies nicht passiert.</p>
<p>P.S.: Und achte bitte auf die Formatierung und (sinnentstellende) Rechtschreibfehler in deinen Beiträgen. Wie du siehst ist dein Beitrag praktisch unlesbar. Außerdem habe ich mal stillschweigend alle Fehler in deinem Code als Abtippfehler angesehen und korrigiert. Aber vielleicht waren das ja auch die Fehler, nach denen du gefragt hast. Was unklar ist, weil du keine richtige Frage stellst. Siehe dazu bitte den ersten und dritten Link in meiner Signatur.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285657</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 03 Jan 2013 12:09:04 GMT</pubDate></item></channel></rss>