1

以下在 main.cpp 文件中:

string password;
string temp_password;

archiveObj.checkPassword(password,temp_password);

并且“checkPassword”的声明在派生类“Archive”中,如下所示:

string checkPassword(string,string);

但是当我在 Visual Studio Express 2010 中运行代码时,出现以下错误:

错误 1 ​​错误 LNK2001: 无法解析的外部符号 "public: class std::basic_string,class std::allocator > __thiscall Archive::checkPassword(class std::basic_string,class std::allocator > &,class std::basic_string,class std::allocator > &)" (?checkPassword@Archive@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV23@0@Z ) C:\Users\HP\documents\visual studio 2010\Projects\Room def\Room def\Main.obj

任何人都可以帮我解决问题吗?

4

1 回答 1

2

您收到的消息来自链接器,链接器正在抱怨,因为它无法找到checkPassword().

也许您忘记为该函数提供定义(您有一个声明,但您没有显示该函数是否也已定义),或者您忘记在给出.cpp定义的文件中链接checkPassword()

于 2013-05-22T18:58:06.173 回答