void cast of argc and argv

前端 未结 4 1154
甜味超标
甜味超标 2021-02-07 13:19

I\'m looking at a piece of C++ code, and the first line in the main function caught my attention:

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


        
相关标签:
4条回答
  • 2021-02-07 13:46

    "Could it be to stop the compiler from complaining about unused variables?"

    yes

    0 讨论(0)
  • 2021-02-07 13:46

    Yes, it is to prevent the compiler from complaining about unused variables. In this case a better way would be:

    int main(int, char**) {
        ...
    }
    

    Leaving the parameters unnamed tells the compiler that they're there but are not used.

    0 讨论(0)
  • 2021-02-07 13:58

    If you set -Werror option, the compiler makes all warnings into errors, stopping compilation. It's a good practice set -Wall -Werror to check all inconsistences.

    0 讨论(0)
  • 2021-02-07 14:09

    Yes, it's exactly to tell the compiler not to complain about unused variables.

    0 讨论(0)
提交回复
热议问题