2012-08-24 99 views
-2

我有一個C++程序,它顯示了一個錯誤:C++錯誤 「太少參數的功能」

too few arguments to function void split(char*, char**, int, int, int*) 

代碼:

#include <iostream> 
#include <stdlib.h> 
using namespace std; 

void split(char* lin, char** word, int i, int w, int* c); 

int main() { 
    char line[80] = "myline"; 
    int n = 5; 
    char **word; 
    split(line, word, 1, 1);   //Error is here. 

    return 0; 
} 
void split(char* lin, char** word, int i,int w, int* c) 
{ 
    //statements 
} 

誰能告訴什麼是錯?

+0

如果你能夠正確地格式化你的代碼會更好。具體來說,你的代碼中的所有'>'都搞亂了markdown格式化程序。 – Mysticial

+0

它看起來像有在調用'split'給出的參數太少。 (它被定義爲接受5但僅通過4)。 –

+0

*寬時進入for循環,或更好它具有價值,但我不認爲有沒有一個值是你想要的。單詞是一個指針,但它不指向任何東西。 你得到的錯誤是在這一行上:'split(lin,word,i,++ w);',四個參數而不是五個。 –

回答

3

功能拆分需要5個參數,並沒有默認參數。你試着用4個參數來調用它。這不會奏效。

+0

@shiva是的,在主要的調用,但不是'分裂'本身的遞歸調用。 – pmr

0

你打電話split()你只用4個參數調用它,作爲一個太少,最後的兩次。如果你希望你可以爲4個參數定義它,但目前情況並非如此