小编Ale*_*dis的帖子

从函数返回指针给出了奇怪的数字

我试图得到这个数组的最大数量,其数字从-20到30,但它返回像这样的奇怪数字 - > 2255667,如果一切顺利,这是不可能的.

int * ptomx(int a[],int n)
{
  int max=-100;
  int *point;

  for(int i=0;i<=n;i++)
  {
      if(max<a[i])
      {
        max = a[i];
      }
  }
  point = new int;
 *point = max;
  return point;
}
Run Code Online (Sandbox Code Playgroud)

这是我在main()做的事情

int maxTemp;

maxTemp=*(ptomx(a,n));

cout<<"Max temp is:"<<maxTemp;
Run Code Online (Sandbox Code Playgroud)

是因为函数返回后函数中的指针被销毁,并在该内存位置给出一个随机数.如果是这样的话,它需要被解除引用但是如何?

c++ pointers return function-pointers function

1
推荐指数
1
解决办法
883
查看次数

标签 统计

c++ ×1

function ×1

function-pointers ×1

pointers ×1

return ×1