Поменять местами два числа по ссылке и использовать указатели? - PullRequest
0 голосов
/ 03 декабря 2018

Я пытался составить программу обмена двумя числами, но когда я запускаю эту программу, она показывает ошибку, и я не понимаю, как это сделать, используя указатели и ссылки.

Программа для замены двух чиселиспользуя ссылку и указатели.

    #include <iostream>
using namespace std;
void swap(int &, int &);
int main()
{
    int a, b;
    cout<<"Enter the value of a and b:";
    cin>>a>>b;
    cout<<"Before swapping......";
    cout<<"A=" <<*a;
    cout<<"\nB=" <<*b;
    swap(a,b);
    cout<<"\nAfter swapping......";
    cout<<"\nA="  <<a;
    cout<<"\nB="  <<b;
    return 0;
}
void swap(int & *x, int & *y)
{
    int temp;
    temp=x;
    x=y;
    y=temp;
}

Здесь я получил ошибку.


Есть операторы, в которых у меня возникают ошибки.

cout << "A= "<< * a; </p>


cout <<" \ nB = "<< * b; </p>


void swap (int & * x, int & * y)

Here the compiler shows errors

1 Ответ

0 голосов
/ 03 декабря 2018

В сообщении об ошибке четко указывается, в какой части программы возникла ошибка.Вы используете умножение (*) в вашем cout.Это должно быть так:

cout << "A = " << a;
cout << "\nB = " << b;

Также в вашем методе подкачки это должно быть так:

void swap(int x, int y)
{
    int temp;
    temp=x;
    x=y;
    y=temp;
}
...