GFLAGS не поддерживается вывод массива, его просто пропуская неизвестные данные, так что вы можете выбрать:
Вариант 1, разбор арг вручную перед GFLAGS, но добавить параметров в GFlags - без всякой разборе ошибок, например:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <vector>
#include <gflags/gflags.h>
DEFINE_string(param, "string", "string");
int main (int argc, char **argv)
{
vector<int> param;
for (int i = 0; i < argc; i++)
{
if (!strcmp(argv[i], "--param"))
{
for (++i; i < argc; i++)
{
if (!isdigit(argv[i][0]))
break;
param.push_back(atoi(argv[i]));
}
}
}
gflags::ParseCommandLineFlags(&argc, &argv, false);
return 0;
}
Выбор 2:
Измените командную строку ввода, например, для: --param 0,1,2,3
и получить в качестве параметров строки в GFLAGS, Разбивает строку по «» и преобразовать в массив целого числа.
Какой язык вы используете? – Scooter
Я использую C++ (отредактированный вопрос) –
Вероятно, нужно добавить тег C++, чтобы получить больше уведомления. – Scooter