C++ 错误 : referenced in function _main when reading a file

标签 c++

当我尝试读取带有函数的文件时

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/

相关文章:

c++ - C++中堆栈的异常处理

c++ - 更好的 boost 引用?

c++ - Windows 中的网络文件传输

c++ - 用于函数调用的带有可变参数模板的模板类型推导

c++ - << , >> 运算符在循环中的作用是什么

c++ - 使用 boost 或 STL 对 C++ 中的压缩(锁定)容器进行排序

c++ - 一对原始类型的良好散列函数

C++运算符<<类的成员

c++ - std::unique_ptr 不能被引用——它是一个被删除的函数

c++ - 为什么在 c 中使用 strcpy 时我的源代码会发生变化