Я писал функцию для обработки аргументов командной строки.
#include <vector>
#include <string>
#include <iterator>
#include <iostream>
void process(std::vector<std::string> args)
{
std::copy(args.begin(), args.end(), std::ostream_iterator<std::string>{std::cout, "\n"}); //show the arguments
}
int main(int argc, char* argv[])
{
//process((&argv[0], &argv[argc])); //ERROR
process({&argv[0], &argv[argc]});
}
У меня вопрос , почему не работает версия в скобках.
Я хочу построить вектор с версия итератора. Я понимаю, что std::initializer_list
будет иметь высокий приоритет для выбора, но, похоже, это не так, потому что здесь можно успешно обработать несколько аргументов.