当我尝试读取带有函数的文件时
void readFile(string fileName, string* anArray) {
unsigned int lineCounter = 0;
ifstream inFile = ifstream(fileName);
while (!inFile.eof()) {
string fileLine;
inFile >> fileLine;
if (!fileLine.empty()) {
anArray[lineCounter] = fileLine;
++lineCounter;
}
}
inFile.close();
}
我收到以下错误,我认为这是因为字符串数组上的指针所致?
1>Main.obj : error LNK2019: unresolved external symbol "void __cdecl resource::readFile(class std::basic_string,class std::allocator >,class std::basic_string,class std::allocator > *)" (?readFile@resource@@YAXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAV23@@Z) referenced in function _main
最佳答案
void readFile(string fileName, string* anArray) {
这是一个成员函数的定义,但是你忘了写类名。
void resource::readFile(string fileName, string* anArray) {
正如您现在所拥有的,您已经在全局命名空间中定义了一个与 resource
无关的新函数,因此当 main
尝试使用 resource::readFile
,找不到定义。
关于C++ 错误 : referenced in function _main when reading a file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24431159/