<?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[MSVC std::to_string broken?]]></title><description><![CDATA[<p>Hallo Liebe Forengemeinde!</p>
<p>Ich bastel gerade an einem UI Framework und habe feststellen müssen, dass MSVC's std::to_string offenbar komplett broken ist.<br />
Folgendes Stück Code:</p>
<pre><code class="language-cpp">struct my_window : libui::window
{
	virtual void on_resize(libui::window_resize_event&amp; e) override
	{
		set_title('(' + std::to_string((libui::u64)e.to().width) + ',' + std::to_string((libui::u64)e.to().height) + ')');
	}
};
</code></pre>
<p>Sobald ich die expliziten Casts entferne (beides sind u16 Werte), krieg ich diese Fehlermeldungen:</p>
<blockquote>
<p>1&gt;------ Build started: Project: libui, Configuration: Debug Win32 ------<br />
1&gt; main.cpp<br />
1&gt;c:\users\fubar\documents\visual studio 2010\projects\libui\libui\main.cpp(14): error C2668: 'std::to_string' : ambiguous call to overloaded function<br />
1&gt; c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(688): could be 'std::string std::to_string(long double)'<br />
1&gt; c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(680): or 'std::string std::to_string(_ULonglong)'<br />
1&gt; c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(672): or 'std::string std::to_string(_Longlong)'<br />
1&gt; while trying to match the argument list '(libui::u16)'<br />
1&gt;c:\users\fubar\documents\visual studio 2010\projects\libui\libui\main.cpp(14): error C2668: 'std::to_string' : ambiguous call to overloaded function<br />
1&gt; c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(688): could be 'std::string std::to_string(long double)'<br />
1&gt; c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(680): or 'std::string std::to_string(_ULonglong)'<br />
1&gt; c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(672): or 'std::string std::to_string(_Longlong)'<br />
1&gt; while trying to match the argument list '(libui::u16)'<br />
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========</p>
</blockquote>
<p>Woran liegt denn das? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Grüße,<br />
Der Kellerautomat</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/305511/msvc-std-to_string-broken</link><generator>RSS for Node</generator><lastBuildDate>Sat, 08 Aug 2026 16:38:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/305511.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 01 Jul 2012 10:09:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to MSVC std::to_string broken? on Sun, 01 Jul 2012 10:09:48 GMT]]></title><description><![CDATA[<p>Hallo Liebe Forengemeinde!</p>
<p>Ich bastel gerade an einem UI Framework und habe feststellen müssen, dass MSVC's std::to_string offenbar komplett broken ist.<br />
Folgendes Stück Code:</p>
<pre><code class="language-cpp">struct my_window : libui::window
{
	virtual void on_resize(libui::window_resize_event&amp; e) override
	{
		set_title('(' + std::to_string((libui::u64)e.to().width) + ',' + std::to_string((libui::u64)e.to().height) + ')');
	}
};
</code></pre>
<p>Sobald ich die expliziten Casts entferne (beides sind u16 Werte), krieg ich diese Fehlermeldungen:</p>
<blockquote>
<p>1&gt;------ Build started: Project: libui, Configuration: Debug Win32 ------<br />
1&gt; main.cpp<br />
1&gt;c:\users\fubar\documents\visual studio 2010\projects\libui\libui\main.cpp(14): error C2668: 'std::to_string' : ambiguous call to overloaded function<br />
1&gt; c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(688): could be 'std::string std::to_string(long double)'<br />
1&gt; c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(680): or 'std::string std::to_string(_ULonglong)'<br />
1&gt; c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(672): or 'std::string std::to_string(_Longlong)'<br />
1&gt; while trying to match the argument list '(libui::u16)'<br />
1&gt;c:\users\fubar\documents\visual studio 2010\projects\libui\libui\main.cpp(14): error C2668: 'std::to_string' : ambiguous call to overloaded function<br />
1&gt; c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(688): could be 'std::string std::to_string(long double)'<br />
1&gt; c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(680): or 'std::string std::to_string(_ULonglong)'<br />
1&gt; c:\program files (x86)\microsoft visual studio 10.0\vc\include\string(672): or 'std::string std::to_string(_Longlong)'<br />
1&gt; while trying to match the argument list '(libui::u16)'<br />
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========</p>
</blockquote>
<p>Woran liegt denn das? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Grüße,<br />
Der Kellerautomat</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2228835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2228835</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Sun, 01 Jul 2012 10:09:48 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC std::to_string broken? on Sun, 01 Jul 2012 10:38:25 GMT]]></title><description><![CDATA[<p>Ganz schön dreist etwas vom Weltmarktführer als broken darzustellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2228837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2228837</guid><dc:creator><![CDATA[fk_]]></dc:creator><pubDate>Sun, 01 Jul 2012 10:38:25 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC std::to_string broken? on Sun, 01 Jul 2012 10:47:07 GMT]]></title><description><![CDATA[<p>Wenn man die richtigen Suchbegriffe eingibt, findet man die Antwort auf magische Weise von selbst. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /><br />
<a href="http://stackoverflow.com/questions/10664699/stdto-string-more-than-instance-of-overloaded-function-matches-the-argument" rel="nofollow">http://stackoverflow.com/questions/10664699/stdto-string-more-than-instance-of-overloaded-function-matches-the-argument</a><br />
Warum ein so großer Hersteller trotzdem solchen Mist baut, ist mir schleierhaft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2228838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2228838</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Sun, 01 Jul 2012 10:47:07 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC std::to_string broken? on Sun, 01 Jul 2012 10:58:09 GMT]]></title><description><![CDATA[<p>Kellerautomat schrieb:</p>
<blockquote>
<p>Ich bastel gerade an einem UI Framework und habe feststellen müssen, dass MSVC's std::to_string offenbar komplett broken ist.</p>
</blockquote>
<p>Mir scheint eher, dass dein Deutsch komplett broken ist zusammen mit den Fähigkeiten, minimale Codebeispiele zu bringen und zu googlen.</p>
<p>Kellerautomat schrieb:</p>
<blockquote>
<p>Warum ein so großer Hersteller trotzdem solchen Mist baut, ist mir schleierhaft.</p>
</blockquote>
<p>Vielleicht solltest du deinen eigenen Link lesen:</p>
<blockquote>
<p>Had all of these overloads been present, obviously you wouldn't have this problem. Of course, VC++ 2010 wasn't based on the actual C++11 standard, which didn't exist yet at the time of its release, but rather on N3000, which did not call for these additional overloads.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2228839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2228839</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sun, 01 Jul 2012 10:58:09 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC std::to_string broken? on Sun, 01 Jul 2012 11:07:51 GMT]]></title><description><![CDATA[<p>Michael E. schrieb:</p>
<blockquote>
<p>Mir scheint eher, dass dein Deutsch komplett broken ist zusammen mit den Fähigkeiten, minimale Codebeispiele zu bringen und zu googlen.</p>
</blockquote>
<p>Warum denn der raue Ton? Hast du den Post über deinem überhaupt gelesen? Mal abgesehen davon, mein Codebeispiel ist so ziemlich das minimalste, was geht.</p>
<p>Michael E. schrieb:</p>
<blockquote>
<p>Vielleicht solltest du deinen eigenen Link lesen:</p>
<blockquote>
<p>Had all of these overloads been present, obviously you wouldn't have this problem. Of course, VC++ 2010 wasn't based on the actual C++11 standard, which didn't exist yet at the time of its release, but rather on N3000, which did not call for these additional overloads.</p>
</blockquote>
</blockquote>
<p>Hab ich gelesen, trotzdem sollte diese Probleme gerade ein STL-Entwickler erkennen können. Das ist doch sowas von offensichtlich, da füg ich automatisch die Overloads ein, gerade weil es eh nur ein Draft ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2228840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2228840</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Sun, 01 Jul 2012 11:07:51 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC std::to_string broken? on Sun, 01 Jul 2012 11:22:08 GMT]]></title><description><![CDATA[<p>Ich muss jetzt nicht explizit &quot;dass es Sinn ergibt und bekannt ist, welcher Bezeichner was bedeutet&quot; dazuschrieben, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2228844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2228844</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Sun, 01 Jul 2012 11:22:08 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC std::to_string broken? on Sun, 01 Jul 2012 11:50:46 GMT]]></title><description><![CDATA[<p>Kellerautomat schrieb:</p>
<blockquote>
<p>Warum denn der raue Ton?</p>
</blockquote>
<p>Entschuldige, das war in der Summe tatsächlich zu unfreundlich von mir.</p>
<blockquote>
<p>Hast du den Post über deinem überhaupt gelesen?</p>
</blockquote>
<p>Ja, da hast du ergooglet, was du bereits vor dem Starten des Threads problemlos hättest finden können.</p>
<blockquote>
<p>Mal abgesehen davon, mein Codebeispiel ist so ziemlich das minimalste, was geht.</p>
</blockquote>
<p>Mal schauen:</p>
<pre><code class="language-cpp">struct my_window : libui::window
{
	virtual void on_resize(libui::window_resize_event&amp; e) override
	{
		set_title('(' + std::to_string((libui::u64)e.to().width) + ',' + std::to_string((libui::u64)e.to().height) + ')');
	}
};
</code></pre>
<p>Die struct-Definition samt Ableitung ist überflüssig, die Funktionsdefinition ist überflüssig. Bleibt noch die Zeile</p>
<pre><code class="language-cpp">set_title('(' + std::to_string((libui::u64)e.to().width) + ',' + std::to_string((libui::u64)e.to().height) + ')');
</code></pre>
<p>Der Aufruf von set_title ist überflüssig, der doppelte Aufruf ist überflüssig, das Argument ist unnötig kompliziert. Ich muss erst überlegen, was libui::u64 ist (ist es tatsächlich ein unsigned int der Größe 64 Bit?). Ich muss überlegen, was width ist. Es reicht also auch</p>
<pre><code class="language-cpp">unsigned short width = 42;
std::to_string(width);
</code></pre>
<p>Das Ganze kann man jetzt noch in ne main packen und es ist sogar kompilierbar.</p>
<blockquote>
<p>Hab ich gelesen, trotzdem sollte diese Probleme gerade ein STL-Entwickler erkennen können. Das ist doch sowas von offensichtlich, da füg ich automatisch die Overloads ein, gerade weil es eh nur ein Draft ist.</p>
</blockquote>
<p>Es wird irgendeinen Grund gegeben haben, warum diese Überladungen es nicht in den <strong>Draft</strong> geschafft haben. Denn wenn die Autoren nicht überlegt hätten, hätten sie einfach alle möglichen Überladungen hinzugefügt. Deshalb sollten Entwickler Dinge, die absichtlich weggelassen wurden, nicht eigenmächtig hinzufügen, ohne einen wichtigen Grund zu haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2228854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2228854</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sun, 01 Jul 2012 11:50:46 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC std::to_string broken? on Sun, 01 Jul 2012 12:28:02 GMT]]></title><description><![CDATA[<p>Michael E. schrieb:</p>
<blockquote>
<p>Es wird irgendeinen Grund gegeben haben, warum diese Überladungen es nicht in den <strong>Draft</strong> geschafft haben. Denn wenn die Autoren nicht überlegt hätten, hätten sie einfach alle möglichen Überladungen hinzugefügt. Deshalb sollten Entwickler Dinge, die absichtlich weggelassen wurden, nicht eigenmächtig hinzufügen, ohne einen wichtigen Grund zu haben.</p>
</blockquote>
<p>Offenbar reine Faulheit, denn nun sind die Overloads im Standard.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2228862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2228862</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Sun, 01 Jul 2012 12:28:02 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC std::to_string broken? on Sun, 01 Jul 2012 12:37:35 GMT]]></title><description><![CDATA[<p>Kellerautomat schrieb:</p>
<blockquote>
<p>Michael E. schrieb:</p>
<blockquote>
<p>Es wird irgendeinen Grund gegeben haben, warum diese Überladungen es nicht in den <strong>Draft</strong> geschafft haben. Denn wenn die Autoren nicht überlegt hätten, hätten sie einfach alle möglichen Überladungen hinzugefügt. Deshalb sollten Entwickler Dinge, die absichtlich weggelassen wurden, nicht eigenmächtig hinzufügen, ohne einen wichtigen Grund zu haben.</p>
</blockquote>
<p>Offenbar reine Faulheit, denn nun sind die Overloads im Standard.</p>
</blockquote>
<p>Du mutmaßt dir an, die Arbeit des Standardgremiums auf diese Weise zu würdigen. Ufff..., abgesehen sind Sie im C++11 Standard, dessen standardkonformen Kompiler du in den nächsten Jahren nicht von Microsoft bekommen wirst. ;O</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2228866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2228866</guid><dc:creator><![CDATA[Zeus]]></dc:creator><pubDate>Sun, 01 Jul 2012 12:37:35 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC std::to_string broken? on Sun, 01 Jul 2012 18:29:22 GMT]]></title><description><![CDATA[<p>Ich verstehe es nicht: Es wird also angeprangert, dass ein C++11 Feature nicht von einem C++03 Compiler im Sinne von C++11 unterstuetzt wird. Wenn du C++11 willst, dann nimm doch VS 2012 RC!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229014</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Sun, 01 Jul 2012 18:29:22 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC std::to_string broken? on Sun, 01 Jul 2012 19:36:56 GMT]]></title><description><![CDATA[<p>knivil fixed schrieb:</p>
<blockquote>
<p>Ich verstehe es nicht: Es wird also angeprangert, dass ein C++11 Feature nicht von einem C++03 Compiler im Sinne von C++11 unterstuetzt wird. Wenn du C++11 willst, dann nimm doch <strong>GCC/Clang</strong>!</p>
</blockquote>
<p>Fixed.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229041</guid><dc:creator><![CDATA[Ethon_]]></dc:creator><pubDate>Sun, 01 Jul 2012 19:36:56 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC std::to_string broken? on Sun, 01 Jul 2012 20:22:18 GMT]]></title><description><![CDATA[<p>Ethon_ schrieb:</p>
<blockquote>
<p>knivil fixed schrieb:</p>
<blockquote>
<p>Ich verstehe es nicht: Es wird also angeprangert, dass ein C++11 Feature nicht von einem C++03 Compiler im Sinne von C++11 unterstuetzt wird. Wenn du C++11 willst, dann nimm doch <strong>GCC/Clang</strong>!</p>
</blockquote>
<p>Fixed.</p>
</blockquote>
<p>Auf Win?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229051</guid><dc:creator><![CDATA[rfa]]></dc:creator><pubDate>Sun, 01 Jul 2012 20:22:18 GMT</pubDate></item><item><title><![CDATA[Reply to MSVC std::to_string broken? on Mon, 02 Jul 2012 06:56:14 GMT]]></title><description><![CDATA[<p>Ich benutzte VC 2012 und habe keine Probleme mit std::to_string.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229107</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 02 Jul 2012 06:56:14 GMT</pubDate></item></channel></rss>