2011-03-19 62 views
0

我需要将输入参数的列表发送到readInput函数。但是当我调用readInput函数时,编译器会报错。你能告诉我我的错误在哪里吗?发送输入参数到另一个函数

bool readInput(netcorr net,int argc, char * argv[]); 

int main(int argc, char * const argv[]) { 
    netcorr net; 
    bool error=readInput(net, argc, argv); 
} 

bool readInput(netcorr &net,int argc, char * argv[]) 
{ 
} 

感谢您的帮助。 Pegah

编辑:编译器说

Fehler: Argument 3 von » bool readInput(netcorr, int, char**) « wird initialisiert

Fehler: ungültige Umwandlung von »char* const*« in »char**«

汉译aschepler:

Error: Argument 3 of ' bool readInput(netcorr, int, char**) ' is initialized

Error: invalid conversion from 'char* const*' to 'char**'

+2

你在'readInput'定义中的'argv'之前错过了'const' – digEmAll 2011-03-19 16:03:58

+1

当我在uni时,我会在不同的地方抛出'*','&'和'const'来调试C++,直到它工作。现在我是一个Java人。 :-O – corsiKa 2011-03-19 16:05:48

+1

编译器已经告诉你错误是什么......你至少应该在你的问题中粘贴编译错误文本。 – tenfour 2011-03-19 16:06:42

回答

3

因为你尝试char * const[]重定向到char*[]。改变你的主要功能得到cahr *[]或改变readInput函数得到char *const[]

+0

@ Mihran Hovsepyan不起作用。错误是: 对readInput(netcorr,int,char **)的未定义引用 – Pegah 2011-03-19 16:28:22

+0

@Martin有问题,没有必要给出接受所有ISO标准的答案,我只是给出了他的问题的解决方案。另外我不认为现在你可以找到任何不接受char * const []作为main函数的argv类型的编译器。 – 2011-03-19 16:29:45

1

您声明了一个函数,它将netcorr作为第一个参数,然后将其定义为netcorr&作为第一个参数。另外,您试图通过char* const[]作为char*[]

相关问题