C++错误:不允许使用类型名称

C++ Error: Type Name is Not Allowed

本文关键字:类型 错误 不允许 C++      更新时间:2023-10-16

我试着在Pointer Arguments中学习我的新课程,我想让这些函数更高级,每个人都使用指针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;
}
if(age>59)
    senior(int* pAge);
else
    everyoneElse(int* pAge);

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

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

替换为

senior(pAge);
else
    everyoneElse(pAge);

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

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

参数只能在函数原型和主体函数中按类型指定(smth如下:)

int senior(int* x)
{
return *x;
}

如何调用函数int senior(intx)*和int everyoneElse(intx)*错误地将函数调用为:everyoneAlse(pAge)int senial(x)

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