[英]C++ trouble with extern - undefined reference
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&)”的引用
我做錯了什么?
您很有可能沒有在loginwindow.cpp中執行正確的#include。 結果,編譯器永遠找不到正確的函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.