2013-05-11 102 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