<?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[Namenskonflikte seit g++ 4.3]]></title><description><![CDATA[<p>Hallo alle miteinander,</p>
<p>ich bin eben auf den g++ 4.3 umgestiegen und wie man bei google öfter mal sieht, auf dieses Namensproblem gestoßen.<br />
Alte Codes lassen sich nichtmehr übersetzen.</p>
<p>Die Fehlermeldung sieht so aus:</p>
<blockquote>
<p>/usr/include/c++/4.3/bits/ios_base.h:410: error: declaration of ‘typedef class std::streampos std::ios_base::streampos’<br />
/usr/include/c++/4.3/bits/postypes.h:207: error: changes meaning of ‘streampos’ from ‘typedef class std::fpos&lt;__mbstate_t&gt; std::streampos’<br />
/usr/include/c++/4.3/bits/ios_base.h:411: error: declaration of ‘typedef std::streamoff std::ios_base::streamoff’<br />
/usr/include/c++/4.3/bits/postypes.h:71: error: changes meaning of ‘streamoff’ from ‘typedef int64_t std::streamoff’<br />
/usr/include/c++/4.3/streambuf:147: note: (if this is not what you intended, make sure the function template has already been declared and add &lt;&gt; after the function name here)</p>
</blockquote>
<p>Nun, der Fehler scheint beim Einlesen einer Datei verursacht zu werden:</p>
<pre><code>#include &lt;fstream&gt;

...

std::ifstream is;
is.open( file );

float s;

while( is &gt;&gt; s ) { ... }

is.close();
</code></pre>
<p>Mein Problem ist jetzt: das sind ja nun nicht meine Klassen und ich möchte nicht in irgendwelche Bibliotheken herumschreiben. Das Problem wurde nun zu genüge geklärt, sodass ich zwar antworten gefunden habe, die mir erklären, wie ich in Zukunft solche Namenskonflikte vermeide, doch nicht, wie ich jetzt bei fremden Bibliotheken damit umgehen kann.</p>
<p>Kennt daneben nicht zufällig einer nen kleines Workout für mich, wie ich sonst genauso einfach floats aus nem ascii file lesen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/228781/namenskonflikte-seit-g-4-3</link><generator>RSS for Node</generator><lastBuildDate>Mon, 28 Sep 2026 09:43:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/228781.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 02 Dec 2008 19:04:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Namenskonflikte seit g++ 4.3 on Wed, 03 Dec 2008 12:37:59 GMT]]></title><description><![CDATA[<p>Hallo alle miteinander,</p>
<p>ich bin eben auf den g++ 4.3 umgestiegen und wie man bei google öfter mal sieht, auf dieses Namensproblem gestoßen.<br />
Alte Codes lassen sich nichtmehr übersetzen.</p>
<p>Die Fehlermeldung sieht so aus:</p>
<blockquote>
<p>/usr/include/c++/4.3/bits/ios_base.h:410: error: declaration of ‘typedef class std::streampos std::ios_base::streampos’<br />
/usr/include/c++/4.3/bits/postypes.h:207: error: changes meaning of ‘streampos’ from ‘typedef class std::fpos&lt;__mbstate_t&gt; std::streampos’<br />
/usr/include/c++/4.3/bits/ios_base.h:411: error: declaration of ‘typedef std::streamoff std::ios_base::streamoff’<br />
/usr/include/c++/4.3/bits/postypes.h:71: error: changes meaning of ‘streamoff’ from ‘typedef int64_t std::streamoff’<br />
/usr/include/c++/4.3/streambuf:147: note: (if this is not what you intended, make sure the function template has already been declared and add &lt;&gt; after the function name here)</p>
</blockquote>
<p>Nun, der Fehler scheint beim Einlesen einer Datei verursacht zu werden:</p>
<pre><code>#include &lt;fstream&gt;

...

std::ifstream is;
is.open( file );

float s;

while( is &gt;&gt; s ) { ... }

is.close();
</code></pre>
<p>Mein Problem ist jetzt: das sind ja nun nicht meine Klassen und ich möchte nicht in irgendwelche Bibliotheken herumschreiben. Das Problem wurde nun zu genüge geklärt, sodass ich zwar antworten gefunden habe, die mir erklären, wie ich in Zukunft solche Namenskonflikte vermeide, doch nicht, wie ich jetzt bei fremden Bibliotheken damit umgehen kann.</p>
<p>Kennt daneben nicht zufällig einer nen kleines Workout für mich, wie ich sonst genauso einfach floats aus nem ascii file lesen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1624558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1624558</guid><dc:creator><![CDATA[trivilian]]></dc:creator><pubDate>Wed, 03 Dec 2008 12:37:59 GMT</pubDate></item><item><title><![CDATA[Reply to Namenskonflikte seit g++ 4.3 on Tue, 02 Dec 2008 22:35:36 GMT]]></title><description><![CDATA[<p>Was ist denn die Lösung, die du dafür gefunden hast?</p>
<p>Die Datei so zu lesen wie du es machst ist schon völlig richtig. Aus deinem Post wird leider nicht klar, ob das Problem in deinem eigenen Projekt lag, oder in den Headern des gcc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1624645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1624645</guid><dc:creator><![CDATA[dooooomi]]></dc:creator><pubDate>Tue, 02 Dec 2008 22:35:36 GMT</pubDate></item><item><title><![CDATA[Reply to Namenskonflikte seit g++ 4.3 on Tue, 02 Dec 2008 22:47:19 GMT]]></title><description><![CDATA[<p>Die Lösung heißt: schreibe die Klasse und Funktionen so, dass man keine Namenskonflikte hat ^^<br />
Aber ich will nicht in den Headern herumschreiben.</p>
<p>Ach ja sorry, hätte ich erwähnen sollen: die Fehlermeldungen verweisen nicht auf mein Projekt, sondern in irgendwelche Haeder ... fstream, denke ich mal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1624649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1624649</guid><dc:creator><![CDATA[trivilian]]></dc:creator><pubDate>Tue, 02 Dec 2008 22:47:19 GMT</pubDate></item><item><title><![CDATA[Reply to Namenskonflikte seit g++ 4.3 on Tue, 02 Dec 2008 23:02:54 GMT]]></title><description><![CDATA[<p>Das macht die Sache jetzt nicht wirklich klarer, sorry. Aber wenn das ein Fehler in den gcc-Headern sein sollte, müßte der auch dort behoben werden.</p>
<p>Wenn du den Code, den du gepostest hast, kompilierst so wie er ist (natürlich mit 'ner Funktion drum rum), kriegst du dann schon diese Fehlermeldung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1624654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1624654</guid><dc:creator><![CDATA[dooooomi]]></dc:creator><pubDate>Tue, 02 Dec 2008 23:02:54 GMT</pubDate></item><item><title><![CDATA[Reply to Namenskonflikte seit g++ 4.3 on Wed, 03 Dec 2008 13:18:48 GMT]]></title><description><![CDATA[<p>Hm, jetzt bin ich etwas verwirrt. Ich habe diesen Code-Teil jetzt einmal einzeln übersetzt und es geht problemfrei.</p>
<p>Danach habe ich diesen Code-Teil auskommentiert ( bis auf #include &lt;fstream&gt; ) und den Fehler behalten. Nachdem ich dann auch das #include auskommentiert habe, konnte ich sauber übersetzen.</p>
<p>In dem gesamten File sind übrigens nur includes auf c-, c++- und cuda-Header und keine auf irgendwelche eigenen.</p>
<pre><code>#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;math.h&gt;
#include &lt;sys/time.h&gt;
#include &lt;fstream&gt;
#include &lt;cuda.h&gt;
</code></pre>
<p>Ich möchte den kompletten Code im Moment noch nicht veröffentlichen. Ist vielleicht auch gar nicht produktiv, ist nämlich etwas größer und die Fehlermeldung lässt dummerweise ja nicht auf eine Zeile im Code schließen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1624926</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1624926</guid><dc:creator><![CDATA[trivilian]]></dc:creator><pubDate>Wed, 03 Dec 2008 13:18:48 GMT</pubDate></item><item><title><![CDATA[Reply to Namenskonflikte seit g++ 4.3 on Wed, 03 Dec 2008 13:23:39 GMT]]></title><description><![CDATA[<p>trivilian schrieb:</p>
<blockquote>
<p>In dem gesamten File sind übrigens nur includes auf c-, c++- und cuda-Header und keine auf irgendwelche eigenen.</p>
</blockquote>
<p>Macht es vielleicht einen Unterschied wenn du die C++ Headernotation für die C-Bibliothek verwendest?</p>
<pre><code class="language-cpp">#include &lt;cstdio&gt;
#include &lt;cstdlib&gt;
#include &lt;cmath&gt;
</code></pre>
<p>Oder enthält irgendein Header (deiner eingeschlossen) ein &quot;using namespace&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1624929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1624929</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 03 Dec 2008 13:23:39 GMT</pubDate></item></channel></rss>