无法解析的外部符号?

simple_blue 2010-07-13 10:45:08
无法解析的外部符号 "public: bool __thiscall CWriteFile::OpenFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char const *)" (?OpenFile@CWriteFile@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PBD@Z),该符号在函数 "public: int __thiscall CLog::SetFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,char *)" (?SetFile@CLog@@QAEHABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAD@Z) 中被引用

int CLog::SetFile( const string& FileName, char* szMode)
{

CWriteFile File;

assert(FileName.length() != 0);
assert(szMode != NULL);
if (File.OpenFile(FileName,szMode))
{
return true;
}
return false;
}

什么情况,CWriteFile 是定义过的类怎么就无法解析?


...全文
128 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
耍宝王 2010-07-14
  • 打赏
  • 举报
回复
对了,还有一种情况,如果你把OpenFile定义为内联函数的话,请确保它在头文件中
CSharp_XinBing1 2010-07-14
  • 打赏
  • 举报
回复
没有在CPP文件中实现此函数吧。
山伟 2010-07-14
  • 打赏
  • 举报
回复
答案如2、4楼所示
mochhk 2010-07-14
  • 打赏
  • 举报
回复
顶一下~~~
支持2L
ztenv 版主 2010-07-14
  • 打赏
  • 举报
回复
1、CWriteFile::OpenFile已经定义并实现了没有?如果没有实现肯定链接不到
2、如果你使用了外部的库,而这个CWriteFile是导出类,那么请指定库的lib文件,否则一样链接不到;
耍宝王 2010-07-13
  • 打赏
  • 举报
回复
LZ请仔细检查一下,相关的声明、定义是否已经被正确包含,或者是否有输入错误。
yunyun1886358 2010-07-13
  • 打赏
  • 举报
回复
是CWriteFile::OpenFile方法的定义找不到,类CWriteFile的声明找到了,但是没有找到CWriteFile::OpenFile的定义。CWriteFile是在哪里定义的?如果是在外部的库中定义的,要包含相关的.lib文件;如果是内部定义的类,那么检查CWriteFile::OpenFile实现了没有。
acdbxzyw 2010-07-13
  • 打赏
  • 举报
回复
OpenFile是不是接受三个参数?

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧