2014-06-26 40 views
0

當我試圖讀取一個文件的功能C++錯誤:讀取文件時函數_main引用

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 > *)" ([email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@Z) referenced in function _main

+3

很確定這不是完整的錯誤。 –

+0

ups ..更新未知 – Xerath

+0

它抱怨無法找到'resource :: readFile'的定義。它定義了哪個源文件,並鏈接到它? –

回答

2
void readFile(string fileName, string* anArray) { 

這是一個成員函數的定義,但你忘了寫的類名。

void resource::readFile(string fileName, string* anArray) { 

正如你現在擁有它,你定義在具有無關resource全局命名空間中一個新的功能,所以當main嘗試使用resource::readFile,這個定義不能被發現。

+0

是的,謝謝!我忽略了這個部分。那個錯誤信息是瘋狂的... – Xerath

+0

@Xerath:那麼,計算機無法猜測你想寫什麼,但沒有! –