我在C ++中很陌生。我正在做一个学校作业,该作业需要使用模板函数来查找数组的最大值。在将其更改为模板功能之前,该代码似乎可以正常使用。我收到一条错误消息,指出maxcpp.cpp:9:16:错误:间接需要指针操作数('int'无效)返回* myArr [first];。
不太确定那里发生了什么,但是会有所帮助。这里的源代码如下:
template <typename T>
T maxArray(T myArr, int first, int last){
if(first == last){
return myArr[first];
}
else
{
int mid = first + (last-first)/2;
return(std::max(maxArray(myArr,first,mid),maxArray(myArr,mid+1,last)));
}
}
int main(){
int array1[] = {5,20,3,1};
std::cout << maxArray(array1,0,4) << std::endl;
return 0;
}
我在C ++中很陌生。我正在做一个学校作业,该作业需要使用模板函数来查找数组的最大值。该代码似乎可以正常使用,直到我对其进行了更改...
[T maxArray(T myArr, int first, int last)
替换为int maxArray(T myArr, int first, int last)
将返回类型更改为“ int”,它将起作用。输出将是:20