C++を始めたばかりでポインタが分からず困っています。
関数の引数にポインタを渡して2つの値を入れ替えたいのですが、出力すると値が入れ替わらずに出力されてしまいます。
tmpに対して第1引数のポインタが示す値を代入して,第2引数を第1引数に渡して、最後にの値を第2引数に渡しています。
ビルドは通るのですが、どうすれば二つの値を交換出来るのでしょうか?
###該当のソースコード
C++
1```#include <iostream> 2 3using namespace std; 4 5template <typename T> 6 7void mySwap(T* x, T* y) { 8 9 T* tmp = x; 10 x = y; 11 y = tmp; 12 13} 14 15int main() { 16 17 int a = 1; 18 19 int b = 2; 20 21 mySwap(&a, &b); 22 23 cout << a << endl; 24 25 cout << b << endl; 26 27 return 0; 28 29}```
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/02 05:52