9

私はポインター引数で新しいクラスのレッスンをいじろうとしています。関数seniorとeveryoneElseがポインター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 )* を呼び出す方法が間違っています。関数を次のように呼び出します:

リンクを 参照してください http://msdn.microsoft.com/en-us/library/be6ftfba(v=vs.80).aspx

于 2013-02-22T04:28:46.277 に答える