For some reason I thought C++0x allowed std::initializer_list as function argument for functions that expect types that can be constructed from such, for exampl
std::initializer_list
It seems to work this way:
function( {std::string("hello"), std::string("world"), std::string("test")} );
Perhaps it is a compiler bug, but perhaps you are asking for too many implicit conversions.