#include<iostream>
using namespace std;
class one
{
public:
int datam;
void show()
{
cout<<datam;
}
};
void addv(one par)
{
par.datam=2;
}
int main()
{
one w;
addv(w);
w.show();
return 0;
}
コンパイル後、これはガベージ値を与えます。オブジェクトw
のdatamember(datam)
を初期化できないのはなぜですか? 私は初期化する他の方法があることを知っていますが、この方法の問題点は何ですか?オブジェクトをパラメータとして渡してオブジェクトのデータメンバーを初期化できません
間違いなくどこかでは駄目ですが、私はそれを見つけることができません。実際には、値渡しと参照渡しの違いを探しています – Tas
値がオブジェクト 'w' **を渡しているので、コピーに実際に新しい値が割り当てられます。 。 –