Search code examples
c++cconstantsstring-literals

c++ How could I properly predefined array of char*?


I am doing it that way:

int argc = 9;
char* argv[argc];

argv[0] = "c:/prog.exe";

but I get notice, that it is deprecated. What is better way?


Solution

  • You have to either make it const:

    const char *argv[] = { "Arg1", "Arg2", "..." };
    

    ... or not use the constant string literals:

    int argc = 9;
    char* argv[argc];
    char prog_name[] = "c:/prog.exe";
    argv[0] = prog_name;