【发布时间】:2012-04-01 11:51:03
【问题描述】:
我认为我的 getline 函数有问题,给我一个与字符有关的错误。
我得到的错误是:
错误 1 错误 LNK2019:未解析的外部符号
"public: void __thiscall ArrayStorage::read(class std::basic_ifstream<char,struct std::char_traits<char> > &)"(?read@ArrayStorage@@QAEXAAV?$basic_ifstream@DU?$char_traits@D@std@@@std@@@Z) 在函数 _main C:\用户\Lewis\SVN\project1\main.obj
任何想法都将不胜感激。如果有人使用这种类型的数组有更有效的方法来完成这项任务,我会接受任何给出的建议。
【问题讨论】:
-
这是一个链接器错误,而不是编译器错误。无论如何,你的行阅读习语是错误的(你不能使用 EOF),但是关于 SO 处理的问题确实有一百万个问题。
-
!fin.eof()不保证getline会成功。 (虽然这肯定不是链接器错误的原因。) -
是什么让您认为
getline与此问题有任何关系?它以前是否有效,但只有在添加那一行后才开始失败?我的猜测是您不了解getline的工作原理,并且由于您遇到了问题,因此您立即将注意力集中在“外国”功能上作为替罪羊,而不是仔细阅读错误消息以查看它真正在抱怨什么.