main.cpp:
bool lgstatus;
User currentUser;
//...
int main(){ //... }
loginwindow.cpp:
void LoginWindow::on_cmdCreate_clicked()
{
extern bool lgstatus;
extern User currentUser;
//...
currentUser.setMail(ui->txtAccountMail->text().toStdString());
currentUser.setName(ui->txtAccountName->text().toStdString());
currentUser.setPassword(ui->txtAccountPassword->text().toStdString());
//...
lgstatus = true;
}
Мой класс User
имеет 3 функции. Каждый из них принимает в качестве аргумента строку. Я не знаю что не так. Компилятор не жалуется, если я изменю lgstatus
, но мой currenUser
.
Класс :
class User
{
public:
User();
User(const std::string &name, const std::string &password);
User(const std::string &name, const std::string &password, const std::string &mail);
void setName(const std::string &name);
void setMail(const std::string &mail);
void setPassword(const std::string &password);
private:
std::string user_name;
std::string user_password;
std::string user_mail;
};
Функции "set" просто передают свой аргумент user_name и т. Д. Я не думаю, что было бы необходимо их также показывать.
Ошибки:
неопределенная ссылка на 'User :: setMail (std :: string const &)'
неопределенная ссылка на 'User :: setName (std :: string const &)'
неопределенная ссылка на `User :: setPassword (std :: string const &) '
Что я сделал не так?
User.cpp
(или любой другой файл, содержащий реализацию классаUser
) вместе с другими исходными файлами? - person   schedule 05.06.2013User
? - person unxnut   schedule 05.06.2013