我正在尝试使用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;
}
答案 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 强>