功能的原型错误

时间:2013-05-11 05:38:10

标签: c++

我似乎无法知道我做错了什么。 这是我的功能:

      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 个答案:

答案 0 :(得分:3)

这可能意味着原型在类声明之外。它需要在课堂内,例如

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

答案 1 :(得分:0)

你不应该在C ++中使用C风格的数组,除非你有一个非常好的理由,改用std :: vector(或者最适合你的stl容器):

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

您发布的代码没有任何问题,它应该可以正常工作,错误在其他地方,(验证您是否包含正确的头文件。)。