9

我正在尝试在 Pointer Arguments 中学习我的新课程,并且我想让函数成为高级函数,并且每个人都使用指针 x,但是当我尝试使用指针 page 调用函数时,它显示 Error: Type name is不允许。怎么了?

#include <iostream>


int senior(int* x);
int everyoneElse(int* x);

using namespace std;

int main()
{
    int age(0);
    int* pAge(&age);
    cout<<"How old are you?"<<endl;
    cin>>age;
    if(age>59)
        senior(int* pAge);
    else
        everyoneElse(int* pAge);
    return 0;
}

int senior(int* x)
{

return *x;
}

int everyoneElse(int* x)
{

return *x;
}
4

4 回答 4

11
if(age>59)
    senior(int* pAge);
else
    everyoneElse(int* pAge);

调用函数时不能包含类型名。改成:

if(age>59)
    senior(pAge);
else
    everyoneElse(pAge);
于 2013-02-22T04:24:15.250 回答
6
senior(int* pAge);
else
    everyoneElse(int* pAge);

用。。。来代替

senior(pAge);
else
    everyoneElse(pAge);
于 2013-02-22T04:23:53.767 回答
2

调用函数时,不必指定传递给函数的参数类型:

if(age>59)
    senior(pAge);
else
    everyoneElse(pAge);

参数只能在函数原型和主体函数中按类型指定(像这样:)

int senior(int* x)
{

return *x;
}
于 2013-02-22T04:29:18.137 回答
0

你如何调用函数int Senior(int x)* 和int everyoneElse(int x)* 是错误的调用函数为:everyoneElse(pAge)int Senior(x)

见链接 http://msdn.microsoft.com/en-us/library/be6ftfba(v=vs.80).aspx

于 2013-02-22T04:28:46.277 回答