2015-04-03 3 views
2

Литт вопрос:ошибка: конструктор является частным

вот класс:

class Author 
{ 

    Author(const std::string& name, const std::string& email, Gender gender); 
    Author& setName(const std::string& name); 

private: 
    std::string a_name; 
    std::string a_email; 
    int a_gender; 
} 

и я не знаю, почему, он написать следующую ошибку:

ошибку: «Автор :: Author (const string &, const string &, Пол) 'является приватным |

но это неконструктор, поэтому что для него непринужденно, так что он не может получить acsses?

цистерны!

+0

поставил общественности: перед конструкторами –

+0

или заменить '' class' по struct'. И добавьте завершающий символ ';'. – juanchopanza

ответ

6

Доступ к class по умолчанию private:, а не public:.

Это:

class Author 
{ 

    Author(const std::string& name, const std::string& email, Gender gender); 
    Author& setName(const std::string& name); 

Должно быть:

class Author 
{ 
    public: 
    Author(const std::string& name, const std::string& email, Gender gender); 
    Author& setName(const std::string& name);