0

次のC++コードでは、クラスのフィールドにアクセスできません。

class Human
{
     string address;
 public:
     void setAddress( string address )
     {
         this.address = address;
     }
};

このコードは、「エラーC2228:「。address」の左側にはclass / struct/unionが必要です」というエラーが発生します。それを行う正しい方法は何ですか?

4

2 に答える 2

7

thisは現在のインスタンスへのポインタなので->、ドットの代わりに使用する必要があります。

于 2013-03-03T11:24:20.487 に答える
1
  class Human
{
     string m_address;
 public:
     void setAddress( string address )
     {
         m_address = address;
     }
};

JavaScriptとは異なり、「this」を使用する必要はありません。ここでは、あいまいさを避けるために、関数パラメーターに別の名前を付けるのが通常です。

于 2013-03-03T11:32:13.173 に答える