<?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[krach mit newline]]></title><description><![CDATA[<p>hallo, habe diese klasse gefunden</p>
<pre><code class="language-cpp">class a2str 
{ 
	stringstream ss; 
	public: 
		template&lt;typename T&gt; 
		a2str&amp; operator&lt;&lt;(T const&amp; x) { ss&lt;&lt;x; return *this; } 
		operator string() const { return ss.str(); } 
};
</code></pre>
<p>und würd auch gern endl benutzen, gibt aber leider ne seite voller fehler:</p>
<blockquote>
<p>error C2914: &quot;a2str::operator &lt;&lt;&quot;: template-Argument kann nicht hergeleitet werden, da das Funktionsargument mehrdeutig ist.<br />
error C2784: &quot;std::basic_ostream&lt;_Elem,_Traits&gt; &amp;std::operator &lt;&lt;(std::basic_ostream&lt;_Elem,_Traits&gt; &amp;,const std::basic_string&lt;_Elem,_Traits,_Alloc&gt; &amp;)&quot;: template-Argument für &quot;std::basic_ostream&lt;_Elem,_Traits&gt; &amp;&quot; konnte nicht von &quot;a2str&quot; hergeleitet werden.<br />
...<br />
usw.<br />
...</p>
</blockquote>
<p>beim aufruf:</p>
<pre><code class="language-cpp">string s = a2str() &lt;&lt; &quot;I want newline&quot; &lt;&lt; endl;
</code></pre>
<p>ohne endl gehts, aber ich würds gern benutzen, geht das irgendwie?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/249115/krach-mit-newline</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 15:05:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/249115.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 Sep 2009 20:40:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to krach mit newline on Wed, 02 Sep 2009 20:40:34 GMT]]></title><description><![CDATA[<p>hallo, habe diese klasse gefunden</p>
<pre><code class="language-cpp">class a2str 
{ 
	stringstream ss; 
	public: 
		template&lt;typename T&gt; 
		a2str&amp; operator&lt;&lt;(T const&amp; x) { ss&lt;&lt;x; return *this; } 
		operator string() const { return ss.str(); } 
};
</code></pre>
<p>und würd auch gern endl benutzen, gibt aber leider ne seite voller fehler:</p>
<blockquote>
<p>error C2914: &quot;a2str::operator &lt;&lt;&quot;: template-Argument kann nicht hergeleitet werden, da das Funktionsargument mehrdeutig ist.<br />
error C2784: &quot;std::basic_ostream&lt;_Elem,_Traits&gt; &amp;std::operator &lt;&lt;(std::basic_ostream&lt;_Elem,_Traits&gt; &amp;,const std::basic_string&lt;_Elem,_Traits,_Alloc&gt; &amp;)&quot;: template-Argument für &quot;std::basic_ostream&lt;_Elem,_Traits&gt; &amp;&quot; konnte nicht von &quot;a2str&quot; hergeleitet werden.<br />
...<br />
usw.<br />
...</p>
</blockquote>
<p>beim aufruf:</p>
<pre><code class="language-cpp">string s = a2str() &lt;&lt; &quot;I want newline&quot; &lt;&lt; endl;
</code></pre>
<p>ohne endl gehts, aber ich würds gern benutzen, geht das irgendwie?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1771174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1771174</guid><dc:creator><![CDATA[endl terr0r]]></dc:creator><pubDate>Wed, 02 Sep 2009 20:40:34 GMT</pubDate></item><item><title><![CDATA[Reply to krach mit newline on Wed, 02 Sep 2009 20:51:37 GMT]]></title><description><![CDATA[<p>Fehlt vielleicht das richtige Include (frag mich nicht, welches, evtl iostream)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1771176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1771176</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Wed, 02 Sep 2009 20:51:37 GMT</pubDate></item><item><title><![CDATA[Reply to krach mit newline on Wed, 02 Sep 2009 20:59:57 GMT]]></title><description><![CDATA[<p>endl ist ein Funktionstemplate, folglich</p>
<pre><code class="language-cpp">string sss = a2str() &lt;&lt; &quot;I want newline&quot; &lt;&lt; endl&lt;char, char_traits&lt;char&gt; &gt;;
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">string ss = a2str() &lt;&lt; &quot;I want newline&quot; &lt;&lt; static_cast&lt;basic_ostream&lt;char, char_traits&lt;char&gt; &gt;&amp;(*)(basic_ostream&lt;char, char_traits&lt;char&gt; &gt;&amp;)&gt;(endl);
</code></pre>
<p>oder einfach noch eine entsprechende Überladung in a2str hinzufügen</p>
<pre><code class="language-cpp">class a2str
{
...
    a2str&amp; operator&lt;&lt;(basic_ostream&lt;char, char_traits&lt;char&gt; &gt;&amp; pf(basic_ostream&lt;char, char_traits&lt;char&gt; &gt;&amp;)) { return pf(ss), *this; }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1771183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1771183</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 02 Sep 2009 20:59:57 GMT</pubDate></item><item><title><![CDATA[Reply to krach mit newline on Thu, 03 Sep 2009 06:23:07 GMT]]></title><description><![CDATA[<p>krass <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
funktioniert, <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
vielen dank! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1771272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1771272</guid><dc:creator><![CDATA[endl terr0r]]></dc:creator><pubDate>Thu, 03 Sep 2009 06:23:07 GMT</pubDate></item><item><title><![CDATA[Reply to krach mit newline on Thu, 03 Sep 2009 11:29:52 GMT]]></title><description><![CDATA[<p>endl macht bei dieser Helper-Klasse ja eigentlich keinen Sinn, da das 'flushen' für den internen 'stringstream' unnötig ist.<br />
Stattdessen reicht doch ein einfacher Zeilenumbruch: '\n'</p>
<p>Für andere Stream-Manipulatoren (z.B. hex) ist die zusätzliche Überladung jedoch sinnvoll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1771478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1771478</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Thu, 03 Sep 2009 11:29:52 GMT</pubDate></item><item><title><![CDATA[Reply to krach mit newline on Thu, 03 Sep 2009 12:11:36 GMT]]></title><description><![CDATA[<p>Seit wann sollte ein streaming op am ende noch ein newline hängen? halt ich für falsch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1771504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1771504</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 03 Sep 2009 12:11:36 GMT</pubDate></item><item><title><![CDATA[Reply to krach mit newline on Thu, 03 Sep 2009 15:14:10 GMT]]></title><description><![CDATA[<p>kann man die klasse auch für den wstring typen benutzen?<br />
hab so einiges schon probiert, aber ich kriegs nicht hin!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1771670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1771670</guid><dc:creator><![CDATA[modificat0r]]></dc:creator><pubDate>Thu, 03 Sep 2009 15:14:10 GMT</pubDate></item><item><title><![CDATA[Reply to krach mit newline on Thu, 03 Sep 2009 17:35:28 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template &lt;typename charT, typename traitsT = std::char_traits&lt;charT&gt;, typename Allocator = std::allocator&lt;charT&gt; &gt;
class basic_a2str
{
    std::basic_ostringstream&lt;charT, traitsT, Allocator&gt; ss;
    typedef std::basic_ostream&lt;charT, traitsT&gt;&amp; manip(basic_ostream&lt;charT, traitsT&gt;&amp;);
public:
    operator std::basic_string&lt;charT, traitsT, Allocator&gt;() const { return ss.str(); }
    template&lt;typename T&gt;
    basic_a2str&amp; operator&lt;&lt;(const T&amp; x) { ss &lt;&lt; x; return *this; }
    basic_a2str&amp; operator&lt;&lt;(manip pf) { ss &lt;&lt; pf; return *this; }	
};
typedef basic_a2str&lt;char&gt; a2str;
typedef basic_a2str&lt;wchar_t&gt; a2wstr;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1771741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1771741</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 03 Sep 2009 17:35:28 GMT</pubDate></item><item><title><![CDATA[Reply to krach mit newline on Fri, 04 Sep 2009 08:57:50 GMT]]></title><description><![CDATA[<p>hhmmm...für den aufruf muss man aber die spitzen klammern benutzen, ne?<br />
mit überladen geht das wohl nicht irgendwie ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1772043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1772043</guid><dc:creator><![CDATA[modificat0r]]></dc:creator><pubDate>Fri, 04 Sep 2009 08:57:50 GMT</pubDate></item><item><title><![CDATA[Reply to krach mit newline on Fri, 04 Sep 2009 20:25:59 GMT]]></title><description><![CDATA[<p>Nein, braucht man eigentlich nicht. Wie rufst du es denn auf? Beachte daß wide-char-Literale als L&quot;...&quot; codiert werden müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1772446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1772446</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Fri, 04 Sep 2009 20:25:59 GMT</pubDate></item></channel></rss>