首页 > 解决方案 > 如何将此函数重写为c ++中的指针?

问题描述

void swap(int &a, int &b)
{
      int temp = a;
      a = b;
      b = temp;
}

在我的代码中,我所做的只是在变量之前添加星号ab在参数和代码正文中。我的老师说这是错误的,所以我现在不明白。

标签: c++functionpointers

解决方案


void swap(int *a, int *b)
{
      int temp = *a;
      *a = *b;
      *b = temp;
}

您称呼您的原件的方式是:

int one = 1;
int two = 2;
swap(one, two); // references

修改后的功能如

swap(&one, &two); // pointers

推荐阅读