转换无效怎么办?

时间:2013-06-08 07:15:21

标签: c++ arrays function pointers dynamic

代码显示从int到* int的无效转换我如何解决问题...错误的完整细节如下所示

错误:

WAP to find the maximum in a dynamic array 
In function 'int* search(int*, int)'::
12 invalid conversion from 'int*' to 'int' [-fpermissive]

代码:

#include<iostream>
#include<conio.h>
using namespace std;

int *search (int arr[], int size);

int main()
{
    int ar[5];
    int *loc;  
    cout << "Enter the values in array: \n "; 
    for(int i=0;i<5;i++)
        cin>> ar[i];

    loc = search(ar,5); 


    for(int i=0;i<10000000000;i++); 
    return 0;   
}


int *search (int arr[], int size)
{
    int *ptr; 
    *ptr = arr; 
    for(int i=1;i<size;i++)
    {
        if(arr[i] > *ptr)
            ptr = &arr[i];
    }
    return ptr; 
}

2 个答案:

答案 0 :(得分:1)

不是

int *ptr; 
*ptr = arr; 

应该是

int *ptr; 
ptr = arr;

答案 1 :(得分:0)

在C ++或C中,

int arr[5];

arr的类型是int *。