我對C++相對比較陌生,並且通過回答問題進行學習。我試圖使用getopt來管理我的輸入,並且我創建了一些函數來幫助使程序更清晰。下面是我在做什麼(摘錄):在C++函數調用時編譯器錯誤
void processArgs(int,char *,char **,long int *);
void processArgs(int argc, char ** argv, long int * res)
{
globalArgs.startTerm = NULL;
globalArgs.endTerm = NULL;
globalArgs.outFileName = NULL;
globalArgs.verbosity = 0;
int minimumArgs = 1;
//Check for minimum number of parameters
if (argc<minimumArgs){
displayUsage();
}
}
int main(int argc,char * argv[]){
int * results=NULL;
processArgs(argc,argv,results);
return 0;
}
當我運行下面的編譯,我得到:
g++ -std=c++0x fibonacci.cpp -o fibonacci
fibonacci.cpp: In function âint main(int, char**)â:
fibonacci.cpp:68: error: no matching function for call to âprocessArgs(int&, char**&, int*&)â
fibonacci.h:3: note: candidates are: void processArgs(int, char*, char**, long int*)
fibonacci.cpp:46: note: void processArgs(int, char**, long int*)
能有人幫我理解這個問題?我相信它與我對argv相關指針如何工作的理解有關。
感謝 丹
你的描述不是很好:它不是失敗的函數調用,但你有一個編譯器錯誤。 – Wolf