動的配列を作成し、2つのポインタをそこに格納してからスワップする必要があるクラス割り当てがあります。ポインタから渡された新しい配列の値
私はほぼ完成しましたが、何らかの理由で新しい値を配列に渡すことができません。問題は、間違っていることが分かっているコードの最後の2行ですが、それを修正しようとするとコンパイルできません。
#include <iostream>
using namespace std;
// Function prototype
void exchange(int*, int*, int* Arr[]);
int main()
{
int* Arr = new int[5], i; //Declare Dynamic Array
cout << "Enter Number of Elements : " << endl;
for (int i = 0; i < 5; i++) //setting all values in the Array to Zero.
scanf_s("%d", Arr + i);
cout << endl;
int a = Arr[3], b = Arr[4];
cout << "The integers before swap : " << endl << endl;
cout << "Fourth integer equals : " << Arr[3] << endl;
cout << "Fifth integer equals : " << Arr[4] << endl << endl;
exchange(&a, &b, &Arr);
cout << "The integers after swap : \n" << endl;
cout << "Fourth integer equals : " << Arr[3] << endl;
cout << "Fifth integer equals : " << Arr[4] << endl;
delete[] Arr; //Delete Dynamic Array
system("pause");
return 0;
}
void exchange(int* a, int* b, int* Arr[]) {
cout << "Please Enter two new intergers \n" << endl;
cin >> *a;
cout << endl;
cin >> *b;
cout << endl;
Arr[3] = a; //These are the problem here, when I try *a it doesn't work
Arr[4] = b;
}
アドバイス - この問題を解決するには、このコードをすべて実際に使用する必要はありません。 [mcve]で作業すると、[これと似たような](https://ideone.com/yVKzy3)のように見えます。 – PaulMcKenzie
最適化されたコードをありがとう。 –