Можно явно задать массив и передать его в функцию. Чтобы передать массив без инициализации в отдельной переменной, вы можете использовать C++11 инициализатор списков (initializer lists) и модифицировать функцию, чтобы она принимала std::initializer_list.
Вот пример:
#include <iostream>
#include <initializer_list>
void some_func(std::initializer_list<int> list)
{
for (const auto& elem : list)
{
std::cout << elem << " ";
}
}
int main()
{
some_func({1, 2, 3, 4, 5});
return 0;
}
Здесь std::initializer_list<int>
позволяет передать список значений, которые будут преобразованы во временный массив. Это позволяет передать список значений в виде {1, 2, 3, 4, 5}
прямо в функцию, без необходимости объявления и инициализации массива в отдельной переменной.