我想做的是通过直接在调用中放入一个数组来调用包含std::vector
参数的函数。我不想创建一个向量然后将它传递给函数,但我想在函数中放置大括号。这是一般的想法:
void doSomething(std::vector<int> arr)
{
std::cout << arr[0] << std::endl;
}
int main()
{
doSomething({ 1, 2, 3 });
}
这给了我一个错误。我也尝试使用lambda表达式,我不太熟悉,但这里是:
doSomething([]()->std::vector<int>{ return{ 1, 2, 3 }; });
这不起作用。这是我不想要的:
std::vector<int> a {1, 2, 3};
doSomething(a);
那我该怎么做呢?我真的希望我写的不是完全愚蠢的。