将argv解析为char *时出错

时间:2016-06-24 11:07:48

标签: c++ argv

我想把argv [1]读成char *所以这就是我做的事情

    using namespace std;
    const char *myarg = NULL;

void Plots(char* file);

int main( int size_t argc, char* argv[] ) {

        myarg = argv[1];
        cout<<"  this is a test "<<argv[1]<<endl;
        Plots(argv);
}


void Plots(char* fileList){

    cout<< argument passed correctly "<<endl;
            }

    }

但是,执行时我得到了

Error: Function Plot() is not defined in current scope  :0:

1 个答案:

答案 0 :(得分:4)

argvchar *[],其实际用途是char **

你宣布了

void Plots(char * file);

Plots()的参数是char *

Plots(argv);

这会尝试将char **传递给以char *为参数的函数。

此外,虽然您声明了

void Plots(char * file);

然后你继续并定义了

void Plot(char* fileList)

此外:

cout<< argument passed correctly "<<endl;

这里缺少引用。

所以,这里有三个不同的错误。