ではなく、がC++で値渡しのパラメータを受け入れる方法を定義して宣言します。引数は値で渡されswap(a, b)
ラインでC++:値によって渡されるパラメータを受け入れることができないように関数を実行する
#include <iostream>
using namespace std;
// function declaration
void swap(int &x, int &y);
int main() {
// local variable declaration:
int a = 100;
int b = 200;
cout << "Before swap, value of a :" << a << endl;
cout << "Before swap, value of b :" << b << endl;
swap(a, b); //This call MUST NOT be valid.
int &x = a;
int &y = b;
swap(x,y); // This one should be valid.
cout << "After swap, value of a :" << a << endl;
cout << "After swap, value of b :" << b << endl;
return 0;
}
void swap(int &x, int &y) {
int temp;
temp = x; /* save the value at address x */
x = y; /* put y into x */
y = temp; /* put x into y */
return;
}
:次のような はエラーを返す必要があります。私はこのようにしてエラーを返すようにしたい。
更新
私はインタビューで、この質問をしました。値で呼び出されたときにエラーを返すメソッドを定義する。
上記のようにswap
メインの関数呼び出しa
とb
は参考にする必要があります。
関数がその引数を値で受け入れないと宣言することによって?あなたは詳細を教えていただけますか?解決したい実際の問題は何ですか?あなたのユースケースは何ですか?あなたはこれで何を達成しようとしていますか?これまでに何を試みましたか?そして、[良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)に時間を割けてください。 –
参照によって渡されるパラメータには、「&」(参照による呼び出しを示す)が付いた「マーク付き」です。それはあなたが探しているものではありませんか? –
"in line swap(a、b)引数は値渡しされます。ええええええええと、彼らはありませんか? –