Как передать входные параметры в функцию

113
13 июля 2021, 05:50

Есть main:

int main(int argc, char *argv[]){
    // Получение параметров запуска
    StartArgs startArgs;
    startArgs.SetArgs(argc, ...);
}

И есть класс:

class StartArgs{
        private:
            char operationType = '0';
            std::string inputFile = "";
            std::string outputFile = "";
        public:
            void SetArgs(int argc, char *argv[]){
                if (argc > 3) std::cout << "Ошибка считывания аргументов" << std::endl;
                else {
                    for (int argnum = 0; argnum < argc; argnum++){
                       if (strncmp(argv[argnum], "-d", 2 )) operationType = '1';
                       else if (outputFile == "") outputFile = argv[argnum];
                       else if (inputFile  == "") inputFile  = argv[argnum];
                       else std::cout << "Ошибка считывания аргументов" << std::endl;
                    }
                }
            }
    };

Вопрос:

Что должно быть вместо ... в startArgs.SetArgs(argc, ...);

Answer 1

Просто

startArgs.SetArgs(argc, argv);

Но, советую, опишите свою функцию как

void SetArgs(int argc, const char *argv[])

(она не изменяет строки, на которые указывает argv)

main как

int main(int argc, const char * argv[])

и опять же передавайте argv...

READ ALSO
Использование content с svg

Использование content с svg

Необходимо отображать svg в блоке с определённым классомРанее никогда такого не делал

83
Как адаптировать блок по высоте?

Как адаптировать блок по высоте?

Пытаюсь скопировать вёрстку диалогового окна с вот этого чатаСам чат имеет фиксированную высоту

267
Не хочет работать Slick Slider

Не хочет работать Slick Slider

Делаю все, как написано в документации, выбивает ошибки :

139