2013-05-11 2 views
0

내가 잘못하고있는 것을 알 수없는 것 같습니다.함수의 프로토 타입이 잘못되었습니다.

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

내 프로토 타입 잘못된 것입니다 : 나는 그것을 위해 프로토 타입을 만들고 싶어

 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++){... 

: 이 제 기능입니다? 오류 :

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

도움이 되셨습니까?

+2

'class' 선언 안에 프로토 타입이 있습니까? – icktoofay

답변

3

아마도 프로토 타입이 클래스 선언 외부에 있음을 의미합니다. 클래스 내부에 있어야합니다 (예 :

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

그래도 내부에 있습니다. – user2371916

+1

전체 클래스 선언 (관련 부분)을 게시 할 수 있습니까? –

+0

@ user2371916 당신은 ** 확신합니다 ** class city 선언 안에 있습니까? –

0

당신은 C에서 C 스타일 배열을 사용 야해 ++ 당신이 아주 좋은 이유가없는 한, 표준 : : 대신 벡터 (또는 가장 적합한 STL 컨테이너) 사용

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

게시 한 코드에 아무런 문제가 없으며 정상적으로 작동합니다. 오류가 다른 곳에서 발생했습니다 (올바른 헤더 파일을 포함하고 있는지 확인하십시오.).

+0

그들은 내가 벡터를 사용하게하지 않을 것이다. 내가 지금 알고있는 것을 사용해야한다. – user2371916

+0

내 머리글 내용은 다음과 같습니다 (일부) : double computeDistance (const City & A, const City & B) const; 인라인 double deg2rad (double) const; void display() const; 공극 maxDistances (도시 INT, INT 및, &) ; 공극 minDistances (도시 INT, INT, INT 및, &) ; ' – user2371916

+0

공극 maxDistances (도시 INT, INT, INT 및, &) ; 무효 maxDistances되어야 int로 (도시 [], int, int &, int &) ; – AngelCastillo

관련 문제