(이 순서대로) 매개 변수로 다음 취하는 함수 호출 발견 구현 :템플릿 기반 선형 검색
우리가 배열 내에서 모든 유형 배열의 크기의 동적 배열을 발견 할 개체를 이 함수는 지정된 요소에 대해 배열을보고 요소의 인덱스 위치를 반환해야합니다. 요소가 없으면 함수는 -1을 반환해야합니다. 내가 가진
코드는 다음과 같습니다
template<typename t>
t find(t objectInArray, t *array, int arraySize)
{
array = new t[arraySize];
for(int index = 0; index < arraySize; index++){
if(array[index] == objectInArray){
cout << index;
return index;
}
}
return -1;
}
내가 템플릿없이, 주 사용 INT에서이 코드를 실행하고 완벽하게 작동합니다. 나는 실제로 내 코드에 문제가있는 것을 당혹 스럽다.
[mcve]를 게시하십시오. 또한, 1) 왜 '-1'을 반환합니까? 만약 당신이 찾고있는 타입이'std :: string'이라면? 그'-1' 반환 값은 컴파일되지 않습니다. 2) 왜'new []'를 사용하고있어 메모리 누수가 발생합니까? – PaulMcKenzie
추가하려면 [std :: find] (http://en.cppreference.com/w/cpp/algorithm/find)가 이미이 작업을 수행합니다. – PaulMcKenzie
함수't'의 반환 유형을'int'로 변경했습니다. 객체가 배열에 있으면 index를 반환한다고 가정합니다. 그렇지 않으면 객체가 배열에없는 경우 -1을 반환한다고 가정합니다. – hicu0