main.cpp:
bool lgstatus;
User currentUser;
//...
int main(){ //... }
ログインウィンドウ.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&)」への未定義の参照
私は何を間違えましたか?