如何在函数中通过带有两个参数的指针传递?

时间:2014-05-23 01:47:49

标签: c++ function pointers

有人可以演示如何使用一个函数传递指针,该函数将两个变量中的两个参数作为输入吗?

#include <iostream>
using namespace std;
int passPoints(int *x, int *y)
{
    int y = *x * *y;
    return(y);
}
int *X, *Y;
int main()
{
    cout<<"enter two values: ";
    cin>>*X;
    cin>>*Y;
    cout<<"RESULT = "<<passPoints(X,Y);
    return 0;
}

遇到麻烦。

2 个答案:

答案 0 :(得分:3)

像这样:

int X, Y;
int main()
{
    cout<<"enter two values: ";
    cin>>X;
    cin>>Y;
    cout<<"RESULT = "<<passPoints(&X,&Y);
    return 0;
}

答案 1 :(得分:1)

您的代码中最大的问题(如果在提取问题时它不是拼写错误)是,int * X和Y是空指针,它们指向的位置对您无法更新。您需要确保这些指针指向有效的内存位置,方法是:

int x, y;
int* xPtr = &x;
int* yPtr = &y;
passPoints(xPtr, yPtr);

或只是

int x, y;
passPoints(&x, &y);

现在passPoints()收到的指针是有效的指针