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'|

有什么帮助吗?

4

2 回答 2

3

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

class City {
public:
    // ...
    void maxDistances(City A[], int numLines, int& indxCityA, int& indxCityB); 
    // ...
};
于 2013-05-11T05:46:02.230 回答
0

除非您有充分的理由,否则您不应该在 C++ 中使用 C 样式的数组,请改用 std::vector (或最适合您的 stl 容器):

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

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

于 2013-05-11T06:20:17.633 回答