2014-01-05 126 views
-1

我有此代碼。我想一個字符數組傳遞給一個函數,我得到一個錯誤說:傳遞字符數組給函數

在第21行

上,我調用該函數「中的‘]’令牌之前預計主要表達」 :

#include <iostream> 
#include <cstring> 
using namespace std; 

char* mostFrequentWord(int, char [][10]); 

int main() 
{ 

    int br = 0, n, br1 = 0; 

    char str[100][10]; 

    cin >> n; 
    for(int i=0; i<n; ++i) 
    { 
     cout << " cin >> str"<< i << "= "; 
     cin>> str[i]; 
    } 

    cout << mostFrequentWord(n, str[][10]) <<endl; 

    int m; 
    for(int i=0; i<n-1; ++i) 
    { 
     for(int j=i+1; j<n; ++j) 
     { 
      if(!strcmp(str[i],str[j])) 
      { 
       ++br; 
      } 
     } 
     if(br>br1) 
     { 
      br1 = br; 
      m = i; 
     } 
    } 

    cout << str[m] <<endl; 
    return 0; 
} 
char* mostFrequentWord(int n, char str[][10]) 
{ 
    int m, br = 0, br1 = 0; 
    for(int i=0; i<n-1; ++i) 
    { 
     for(int j=i+1; j<n; ++j) 
     { 
      if(!strcmp(str[i],str[j])) 
      { 
       ++br; 
      } 
     } 
     if(br>br1) 
     { 
      br1 = br; 
      m = i; 
     } 
    } 
    return str[m]; 

} 

回答

2

這條線:

cout << mostFrequentWord(n, str[][10]) <<endl; 

閱讀需求

cout << mostFrequentWord(n, str) <<endl; 
0

你回答是你的問題:。只需通過海峽

cout << mostFrequentWord(n, str) <<endl; 
0

嘗試調用該函數這種方式

mostFrequentWord(n,str) 

這應該工作。其餘的代碼很好。