This statement:
Test_A({ 1 }, {});
Can be interpreted as 2 initializer lists containing 1 and containing nothing, but it can also be interpreted as:
Test_A(int{ 1 }, int{});
This is the so-called uniform initialization syntax. The Intellisense has its own "compiler" implementation and often shows errors where there are none or shows wrong types. This happens a lot with the new C++11 features.
You can try using double braces to disambiguate:
Test_A({{ 1 }}, {{}});
I can't verify this at the moment though, Visual Studio and iPad don't mix very well ;)
You should also consider accepting only initializer lists and handle the special case when only 1 item is passed, as most callers will probably be confused what the difference between these 2 overloads is.