2013-05-11 61 views
0

我似乎無法知道我在做什麼錯誤。 這是我的函數:函數原型錯誤

 void City::maxDistances(City A[], int numLines, int &indxCityA, int &indxCityB){ 
     int maxi = computeDistance(A[0],A[1]); 
      for (int i =0; i < numLines; i++){ 
       for (int j = i +1; j < numLines; j++){... 

我想爲它的原型:

void maxDistances(City[], int , int &, int &) ; 

什麼是錯我的原型?錯誤是:

> prototype for void City::maxDistances(City*, int, int&, int&)' does not match any in class 'City'| 

任何幫助嗎?

+2

「class」聲明中的原型是什麼? – icktoofay 2013-05-11 05:45:05

回答

3

這可能意味着原型在類聲明之外。它需要在課堂內部,例如

class City { 
public: 
    // ... 
    void maxDistances(City A[], int numLines, int& indxCityA, int& indxCityB); 
    // ... 
}; 
+0

它是在裏面。 – user2371916 2013-05-11 05:49:27

+1

你可以發佈整個類聲明(相關部分)嗎? – 2013-05-11 05:51:56

+0

@ user2371916你確定**它在'class City'的聲明中? – 2013-05-11 05:51:59

0

你不應該使用在C C風格的數組++,除非你有一個很好的理由,使用std :: vector的,而不是(或者說最適合您的STL容器):

http://www.cplusplus.com/reference/vector/vector/

你發佈的代碼沒有問題,它應該工作,錯誤是在別的地方,(驗證你是否包含正確的頭文件)。

+0

他們不會讓我使用矢量,我必須使用我現在知道的。 – user2371916 2013-05-11 06:28:59

+0

我的標題是(部分): ' double computeDistance(const City&A,const City&B)const; 內聯double deg2rad(double)const; void display()const; 無效maxDistances(市,INT,INT和,詮釋&) ; 無效minDistances(市,INT,INT和,詮釋&) ; ' – user2371916 2013-05-11 06:29:47

+0

無效maxDistances(市,INT,INT和,詮釋&) ;應該是無效maxDistances(市[],int,int&,int &) ; – AngelCastillo 2013-05-11 06:31:30