2013-02-22 154 views
3

我试图在指针参数中玩弄我的新课程,并且我想让函数高级和everyoneElse采取指针x,但是当我尝试调用该函数指针pAge,它表示错误:类型名称是不允许的。怎么了?C++错误:类型名称不允许

#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; 
} 
+0

这与调用任何其他函数相同。您不包含类型。 – chris 2013-02-22 04:24:00

回答

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

更换

senior(pAge); 
else 
    everyoneElse(pAge); 
+0

你很快:-) – 2013-02-22 04:24:49

+0

呵呵,和你一样:) – 2013-02-22 04:28:07

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

调用函数时,您可以不包括类型名。更改为:

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

当你调用功能,你不必指定parametr的类型,你传递给函数:

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

Parametrs应按类型只在函数原型和身体功能(水木清华这样的:)

int senior(int* x) 
{ 

return *x; 
} 
指定
相关问题