【发布时间】:2012-11-13 08:45:10
【问题描述】:
我有简单的功能,例如:
void fun(vector<int> vec)
{
//...
}
void fun(int* smth)
{
//...
}
当我写在我的程序中时没有。
fun({2,3});
向量参数让我觉得很有趣,我知道它在新的 C++ 扩展初始化列表中,但我想使用新的 C++ 并告诉编译器这只是一个 int 数组,我该怎么做?
编辑:
最好在 1 行中完成 :)
【问题讨论】:
-
幸运的是,C++ 中不能有临时数组。
-
@kerrek 不正确。我惹恼了马德里的委员会,直到他们接受了 C++11。
-
It would be nice to do it in 1 line :)为什么? -
@JohannesSchaub-litb:我从来不知道——那是标准的哪一部分?
-
@KerrekSB 没有特别的部分。它只是不被允许。我发邮件说有几个段落没有禁止临时数组的某些用途,而其他段落部分相互矛盾。并决定摆脱所有禁止或妨碍临时数组的规则。
标签: c++ arrays c++11 initializer-list