可能重复:
什么时候可以在初始化列表中省略外括号?
我std::array
在 Visual Studio 2010 中使用,实际上std::tr1::array
我遇到了一个烦人的问题。例如,我有一个以 aarray
作为参数的函数。
void do_something(std::tr1::array<int, 5> data)
但是,调用该函数do_something({1,2,3});
不起作用并导致编译器错误
std::tr1::array<int, 5> data = {1,2,3};
do_something(data);
做。我真的不明白为什么前者不起作用。我得到的错误告诉我我)
在{
. 这让我相信它不需要初始化列表,但我不明白为什么不这样做。我是否滥用了初始化列表?
编辑:std::tr1::array
没有必要,std::array
工作正常..