2012-05-25 7 views
2

안녕하세요, stackoverflow 포럼 사람, 나는 Absolute C++ 제 4 판 Savitch ISBN-13 : 978-0-13-136584-1 텍스트 북에서이 코드를 직접 입력했습니다. . 일반 정렬 기능. 는 라인 (17) : 오류 : 예상 initialiser '템플릿'전에템플릿 <class T> 오류 : '템플릿'앞에 예상 초기화 자

가 내가 '그냥 작동'에있는 텍스트 책을 기대하는 것처럼

누군가가 도움을 줄 수 그래서 나는 공부할 수 페이지 (728)에 sort.cpp는 라인 (17)에 오류가 있습니다 코드와 내가 이해하지 못하는 여분의 오류에 붙어하지 않습니다. 그래, 내가 연구 해왔다. 그러나 해시 테이블을 배우기를 희망하면서 일반 템플릿 학습을 희망하는 일반 정렬 함수의 간단한 학습 포인트에 집중할 때 오류에 대한이 연구는 제한적이다 ... phewww , 숨을.

오류가 발생한 17 번 줄을 굵게 표시 할 수 없습니다.

// This is the file sort.cpp. 
template<class T> 
void sort(T a[], int numberUsed) 
{ 
    int indexOfNextSmallest; 
    for (int index = 0; index < numberUsed - 1; index++) 
    {//Place the correct value in a[index]: 
     indexOfNextSmallest = 
      indexOfSmallest(a, index, numberUsed); 
     swapValues(a[index], a[indexOfNextSmallest]); 
    //a[0] <= a[1] <=...<= a[index] are the smallest of the original array 
    //elements. The rest of the elements are in the remaining positions. 
    } 
} 
template<class T> 
void swapValues(T& variable1, T& variable2) 
template<class T> 
int indexOfSmallest(const T a[], int startIndex, int numberUsed) 
{ 
    T min = a[startIndex]; 
    int indexOfMin = startIndex; 
    for (int index = startIndex + 1; index < numberUsed; index++) 
     if (a[index] < min) 
     { 
      min = a[index]; 
      indexOfMin = index; 
      //min is the smallest of a[startIndex] through a[index]. 
     } 
    return indexOfMin; 
} 

답변

5
template<class T> 
void swapValues(T& variable1, T& variable2); 
             ^^^^^^ 
template<class T> 
int indexOfSmallest(const T a[], int startIndex, int numberUsed) 

당신이 기능 swapValues() 선언 후 ; 누락 보인다.

참고로, 왜 함수 선언이 두 함수 정의 사이에 매달려 있는지 모르겠다. 특히 이후에 함수를 사용했다.

+0

감사 세미콜론을 놓친 생각합니다. 나는 그것을 시험해 보았지만, 교과서에있는 불분명 한 주석이 문제를 해결 한 것으로 보인다. 링크 8에서 14까지 719 페이지에있는 바디를 추가했습니다. { T temp; 임시 변수 = variable1; variable1 = variable2; variable2 = 임시; } 마지막으로 컴파일됩니다. 나는이 교과서에 신체를 추가하는 메모가 명확하지 않고 혼란의 심연에서 학습자를 더 깊이 묻어주기 때문에 프로그래밍 교과서에 '사용자에게 친숙한'학습에 도움이 필요하다는 것을 알게되었습니다. – user1416486

+0

@ user1416486 : 나는 그것에 대해 언급 할 수 없기 때문에 나는 책을 가지고 있지 않다. 그러나 당신의 description.I에서 꽤 형편없이 형식화 된 책처럼 보인다. 책] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list). –

0

난 당신이 여기에 답장을 보내

void swapValues(T& variable1, T& variable2);