C ++错误:不允许键入名称

时间:2013-02-22 04:22:28

标签: c++

我正在尝试使用Pointer Arguments中的新课程,我想让高级函数和everyoneElse使用指针x,但是当我尝试用指针pAge调用函数时,它会显示错误:不允许输入名称。怎么了?

#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 个答案:

答案 0 :(得分:5)

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

调用函数时不能包含typename。改为:

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

答案 1 :(得分:2)

senior(int* pAge);
else
    everyoneElse(int* pAge);

替换为

senior(pAge);
else
    everyoneElse(pAge);

答案 2 :(得分:1)

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

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

参数仅应在函数原型和body函数中指定类型(如下所示:smth)

int senior(int* x)
{

return *x;
}

答案 3 :(得分: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