无法将字符串参数传递给派生类成员函数c ++

时间:2013-05-22 18:56:26

标签: c++ oop inheritance

以下是在main.cpp文件中:

string password;
string temp_password;

archiveObj.checkPassword(password,temp_password);

和" checkPassword"的声明是在派生类"存档"如下:

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

有人可以帮我解决问题吗?

1 个答案:

答案 0 :(得分:2)

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

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