Here is the code, I find a strange thing about std::initializer_list . I use vs2013. Thanks for help.
struct TempStruct
{
int t1;
int t2;
};
int Test_A(int a, int b)
{
std::cout << " int a, int b" << '\n';
return 1;
}
TempStruct Test_A(std::initializer_list<int> a, std::initializer_list<int> b)
{
std::cout << "initializer_list" << '\n';
TempStruct Temp;
Temp.t1 = 1;
Temp.t2 = 2;
return Temp;
}
int main()
{
auto a_test = Test_A(1, 1);
auto b_test = Test_A({ 1 }, {});
return 1;
}
Result(std::cout) I want:
int a, int b
initializer_list
Result(std::cout) from vs2013
int a, int b
int a, int b
In the vs2013 IDE, if I move mouse on "b_test", it shows b_test is TempStruct. After build, the result isn't. Is this a bug of vs2013 or miss-use of initializer_list ?