2016-07-01 4 views
-4

エラーの原因がわかりません。助けてください。C++では式が変更可能な値のエラーである必要があります

class Dog 
{ 
private: 
    char name[25]; 
    int gender; 
    int age; 
    int size; 
    bool healthy; 

public: 
    char* getName() { return name; } 
    int getGender() { return gender; } 
    int getAge() { return age; } 
    int getSize() { return size; } 
    bool isHealthy() { return healthy; } 
    void setHealthy(bool dhealthy) { healthy = dhealthy; } 
    void setName(char* dname) { name = dname; } // name ---> Expression must be a modifiable value 
}; 
+0

そのような配列定義を(再)初期化することはできません。 'std :: copy()'などを使ってください。 –

+1

あなたは 'std :: string'を使うことができます – user463035818

+0

あなたはC++でcプログラムを書いていますが、[C++はcではありません](http://www.lb-stuff.com/cc)です。適切なC++チュートリアルで時間を過ごすことをお勧めします。 – Xirema

答えて

2

ポインタを配列に割り当てることはできません。文字列をコピーする場合は、strcpyを使用します。

タグがC++であるため、実際の文字列型の使用を検討してください。

関連する問題