2017-12-13 7 views
-1

この実装クラスの処理中に固まってしまいました。 以下は、g ++コンパイルを使用して私のコードを私のコードのようなエラーを与える私のコードです。C++のコンストラクタとメソッドの実装

Contact::Contact(const char * name, const char * address, const char * 
tel) { 
     name = new char[strlen(name) + 1]; 
     address = new char[strlen(address) + 1]; 
     tel = new char[strlen(tel) + 1]; 
     strcpy(this->name, name); 
     strcpy(this->address, address); 
     strcpy(this->tel, tel); 
} 

エラーが助けを

Contact.cpp:9: warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x 

感謝です!

+2

char配列、newおよびstr *関数ではなく、std :: stringを使用します。 –

+0

9行はどこですか? –

+0

@ manni66これは9行目です。> name = new char [strlen(name)+ 1]; – joe

答えて

-1

おそらく、メンバー変数のパラメータと同じ名前を使用しているためです。コンパイラは、必要なものとは異なるものを理解している可能性があります。
nameではなくnのようにパラメータの名前を変更してください。this->は不要で、エラーは消えてしまいます。

+0

名前を変更する必要がありますので、plsは上記コード – joe

+0

から私に同じエラーを表示します。 – joe

+0

名前の隠蔽はC++で有効で有効です。 – George

関連する問題