2014-02-16 5 views
0

이전에 클래스 용 인스턴스 파일을 만들었지 만 궁금한 점은 함수 용으로 인스턴스 파일을 만드는 방법입니다. 다음은 내가 만든 프로그램의 예입니다.템플릿 함수 인스턴스화 파일?

template <typename T> 
void deSelSort(T arr[], int n) 
{ 
int j = n - 1; 

for (int i = 0; i < n; i++) 
    { 
     cout << arr[i] << " "; 
    } 
    cout << endl; 

for(int i = 0; i < j; i++, j--) { 

    int min=i; 
    int max=i; 
    int temp; 

    for (int temp2 = i + 1; temp2 <= j; temp2++) 
    { 
     if (arr[temp2] < arr[min]) 
      { 
       min = temp2; 
      } 
     if (arr[temp2] > arr[max]) 
      { 
       max = temp2; 
      } 
    } 

    if (min > max) { 
     temp=min; 
     min=max; 
     max=temp; 
     arr[min] = max; 
     arr[max] = min; 
    } 
    if (min > i) 
    { 
     temp = arr[i]; 
     arr[i] = arr[min]; 
     arr[min] = temp; 
    } 
    if (max < j) 
    { 
     temp = arr[j]; 
     arr[j] = arr[max]; 
     arr[max] = temp; 
    } 

    for (int i = 0; i < n; i++) 
    { 
     cout << arr[i] << " "; 
    } 
    cout << endl; 


}; 
} 

예를 들어 int와 double을 사용하여 배열을 만들고 싶다면 인스턴스화 파일은 어떻게 생겼을까요? 지금 내 파일은 인스턴스 파일이 내가 ints 예를 들면 doubles 배열을 만들려는 경우처럼 보일 것입니다 무엇이

#include "ex3_16.cpp" 

template class deSelSort<int>; 
template class deSelSort<double>; 
+0

'주형 공극 deSelSort (INT [], INT) '와'템플릿 공극 deSelSort (더블 [], INT); ' – 0x499602D2

답변

0

처럼 보인다?

template void deSelSort<int>(int[], int); 
template void deSelSort<double>(double[], int); 
관련 문제