C++:如何通过参数进行切换?

Rel*_*lla 0 c++ command-line command-line-arguments visual-studio-2008 visual-studio

所以我有这样的代码

 int main(int argc, char* argv[])
{ 
    string outputUrl ;
    string outputContainer ;
    string outputUserName ;

    for(int i = 0 i>=argc; i+2){
        switch(argv[i]){ //C2450
            case "-server" : {outputUrl += (argv[i+1]);} break; //C2051
            case "-container" : {outputContainer = (argv[i+1]);} break; //C2051
            case "-nickname" : {outputUserName += (argv[i+1]);} break; //C2051
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么它给我编译器错误 C2450 和下一行 C2051?如何解决这样的问题?

Mar*_*som 5

switch语句不能使用字符串。您需要将其替换为一串if-else if语句。