<div>Hi all,</div><div><br></div><div>Is it this behavior correct ?</div><div><br></div><div><font face="'courier new', monospace">//Code ----------------------</font></div><div><font face="'courier new', monospace">#include <initializer_list></font></div>
<div><font face="'courier new', monospace">#include <iostream></font></div><div><font face="'courier new', monospace">#include <string></font></div><div><font face="'courier new', monospace">#include <vector></font></div>
<div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace">using namespace std;</font></div><div><font face="'courier new', monospace"><br></font></div><div>
<font face="'courier new', monospace">void foo( initializer_list<typename vector<string>::value_type> list )</font></div><div><font face="'courier new', monospace">{</font></div><div><font face="'courier new', monospace">    for (auto& item : list)</font></div>
<div><font face="'courier new', monospace">    {</font></div><div><font face="'courier new', monospace">        cout << item << endl;</font></div><div><font face="'courier new', monospace">    }</font></div>
<div><font face="'courier new', monospace">}</font></div><div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace">int main( /* int argc, char* argv[] */ )</font></div>
<div><font face="'courier new', monospace">{</font></div><div><font face="'courier new', monospace">    foo( { {"k0", "v0"}, {"k1", "v1"} } );</font></div><div><font face="'courier new', monospace">    return 0;</font></div>
<div><font face="'courier new', monospace">}</font></div><div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace">//End code ----------------------</font></div>
<div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace">$ clang++ --version</font></div><div>
<font face="'courier new', monospace">clang version 3.1 (trunk 155038)</font></div><div><font face="'courier new', monospace">Target: i386-pc-linux-gnu</font></div><div><font face="'courier new', monospace">Thread model: posix</font></div>
<div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace">$ clang++ -std=c++11 initializer_list_test.cpp</font></div><div><font face="'courier new', monospace">$ ./a.out </font></div>
<div><font face="'courier new', monospace">k0</font></div><div><font face="'courier new', monospace">k1</font></div><div><font face="'courier new', monospace"><br></font></div><div><font face="'courier new', monospace">------------------------------------------</font></div>
<div><br></div><div>I would have expected that the initializer_list be deduced to something like an associative container (a compile time error).</div><div><br></div><div>Thanks and Regards,</div><div>Fernando Pelliccioni.</div>