<?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[initializer_list selstam]]></title><description><![CDATA[<p>hi!</p>
<p>Folgendes Problem:</p>
<p>Ich kann den vector mit Str2 nur mit { { 4 }, { 5 } } initialisieren (int x), will ich aber stattdessen ein std::string s; in der Str2 und mit { { &quot;4&quot; }, { &quot;5&quot; } } initialisieren, funktioniert das nicht! Das heißt, es gibt keinen Compilier oder Laufzeitfehler, aber wenn ich mit dem Debugger gucke (Visual Studio 2013), ist v leer (0 elemente). Mit int x; allein in der Str2 enthält v dann auch 2 Elemente! Warum geht das mit std::string nicht?</p>
<pre><code>struct Str2
{
	int x; // Mit { { 4 }, { 5 } } initialisiert, klappt
	//std::string s; // Mit { { &quot;4&quot; }, { &quot;5&quot; } } initialisiert, bleibt leer!
};

struct Str1
{
	int x;
	int y[2];
	std::vector&lt;Str2&gt; v;
};

const std::map&lt;std::string, Str1&gt; m =
{
	{ &quot;key1&quot;, { 1, { 2, 3 }, { { 4 }, { 5 } /*{ &quot;4&quot; }, { &quot;5&quot; }*/ } } }
};// x ist 1, y ist 2 und 3, und in v sollen 2 Elemente sein
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/324686/initializer_list-selstam</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Jul 2026 23:30:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/324686.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Mar 2014 13:33:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to initializer_list selstam on Thu, 27 Mar 2014 13:33:34 GMT]]></title><description><![CDATA[<p>hi!</p>
<p>Folgendes Problem:</p>
<p>Ich kann den vector mit Str2 nur mit { { 4 }, { 5 } } initialisieren (int x), will ich aber stattdessen ein std::string s; in der Str2 und mit { { &quot;4&quot; }, { &quot;5&quot; } } initialisieren, funktioniert das nicht! Das heißt, es gibt keinen Compilier oder Laufzeitfehler, aber wenn ich mit dem Debugger gucke (Visual Studio 2013), ist v leer (0 elemente). Mit int x; allein in der Str2 enthält v dann auch 2 Elemente! Warum geht das mit std::string nicht?</p>
<pre><code>struct Str2
{
	int x; // Mit { { 4 }, { 5 } } initialisiert, klappt
	//std::string s; // Mit { { &quot;4&quot; }, { &quot;5&quot; } } initialisiert, bleibt leer!
};

struct Str1
{
	int x;
	int y[2];
	std::vector&lt;Str2&gt; v;
};

const std::map&lt;std::string, Str1&gt; m =
{
	{ &quot;key1&quot;, { 1, { 2, 3 }, { { 4 }, { 5 } /*{ &quot;4&quot; }, { &quot;5&quot; }*/ } } }
};// x ist 1, y ist 2 und 3, und in v sollen 2 Elemente sein
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2391479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2391479</guid><dc:creator><![CDATA[mhat]]></dc:creator><pubDate>Thu, 27 Mar 2014 13:33:34 GMT</pubDate></item><item><title><![CDATA[Reply to initializer_list selstam on Thu, 27 Mar 2014 13:57:22 GMT]]></title><description><![CDATA[<p>Mist, grad guck ich mit <a href="http://ideone.com" rel="nofollow">ideone.com</a> (gcc 4.8.1 c++11) und m[&quot;key1&quot;].v.size() ist 2, mit std::string s; als Str2 member!</p>
<p>Da hab ich dann wohl nen Visual Studio bug erwischt? :(:(:(</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2391484</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2391484</guid><dc:creator><![CDATA[mhat]]></dc:creator><pubDate>Thu, 27 Mar 2014 13:57:22 GMT</pubDate></item><item><title><![CDATA[Reply to initializer_list selstam on Thu, 27 Mar 2014 15:00:40 GMT]]></title><description><![CDATA[<p>Minimaleres Beispiel:</p>
<pre><code>struct Str1
{
	std::vector&lt;std::string&gt; v;
};

int main()
{

	std::map&lt;int, std::vector&lt;std::string&gt;&gt; m1 =
	{
		{ 1, { &quot;4&quot;, &quot;5&quot; } }
	}; // vector.size() = 2

	std::map&lt;int, Str1&gt; m2 =
	{
		{ 1, { { &quot;4&quot;, &quot;5&quot; } } }
	}; // v.size() = 0 :(
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2391495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2391495</guid><dc:creator><![CDATA[mhat]]></dc:creator><pubDate>Thu, 27 Mar 2014 15:00:40 GMT</pubDate></item><item><title><![CDATA[Reply to initializer_list selstam on Thu, 27 Mar 2014 15:16:13 GMT]]></title><description><![CDATA[<p>Bin grad draufgekommen, Str1 braucht nen entsprechenden Constructor.<br />
Warum ist das bei Visual Studio so?</p>
<pre><code>Str1(const std::vector&lt;std::string&gt;&amp; v) : v(v)
{
	;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2391498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2391498</guid><dc:creator><![CDATA[mhat]]></dc:creator><pubDate>Thu, 27 Mar 2014 15:16:13 GMT</pubDate></item><item><title><![CDATA[Reply to initializer_list selstam on Sun, 30 Mar 2014 13:25:54 GMT]]></title><description><![CDATA[<p>Weiß dazu noch jemand mehr?<br />
Könnte jemand nen Bugreport schreiben? Bin da nirgends angemeldet..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2391889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2391889</guid><dc:creator><![CDATA[mhat]]></dc:creator><pubDate>Sun, 30 Mar 2014 13:25:54 GMT</pubDate></item><item><title><![CDATA[Reply to initializer_list selstam on Wed, 02 Apr 2014 11:41:39 GMT]]></title><description><![CDATA[<p>Hmm bitte voten :p<br />
<a href="https://connect.microsoft.com/VisualStudio/feedback/details/845159/uniform-initialization-fails-on-std-map-with-struct-with-string-vector-member-as-value" rel="nofollow">https://connect.microsoft.com/VisualStudio/feedback/details/845159/uniform-initialization-fails-on-std-map-with-struct-with-string-vector-member-as-value</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2392327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2392327</guid><dc:creator><![CDATA[mhat]]></dc:creator><pubDate>Wed, 02 Apr 2014 11:41:39 GMT</pubDate></item></channel></rss>