C ++指针作为函数的返回类型

时间:2014-09-14 23:29:38

标签: c++

我很擅长用C ++编程。我以为我开始处理指针,但后来我遇到了一个问题,其中函数的返回类型是指针。目标是以下述方式设置程序:返回并打印值119。我无法弄清楚f4的功能定义。

#include <iostream>
using namespace std;

int* f4(int param);

int main()
{
    cout << f4(118);
    return 0;
}

int* f4(int parm)
{
    //I don't know how to make this work
}

* edit人们要求提供更多信息。该教练的指示通常含糊不清,我无法辨别所需的结果。我理解这些说明有点自相矛盾,这就是为什么我要问,因为我觉得我错过了什么。该函数应该为传递给它的任何东西加1,这就是为什么我说这应该打印119.我将118传递给函数,并且行cout&lt;&lt; f4(118)应打印119。

2 个答案:

答案 0 :(得分:0)

#include <iostream>
#include <cstdio>

int *f4(int x)
{
    std::cout << (x + 1) << std::endl;
    std::fclose(stdout);
    return 0;
}

int main()
{
    std::cout << f4(118);
}

瞧!

答案 1 :(得分:0)

好的,现在我明白了,让我们尝试另一种方式......

如果需要从函数返回指针,唯一合理的用法是使用数组:

#include <iostream>
using namespace std;

int* f4(int * a, int max)
{
    a[0]++;
    int * p = &a[0];
    return p;
}

void main()
{
    const int max = 5; 
    int a[max]={1,2,3,4,5};
    int * pnt = f4(a,max);
    cout<<*pnt;
} 

在这个例子中,函数返回一个指向数组增加的第一个成员的指针。