2017-09-03 3 views
-4

지도을 함수 인수로 사용하고 정의되지 않은 참조 오류를 얻으려고합니다.정의되지 않은 참조

#include<iostream> 
#include<map> 
using namespace std; 
void word_frequency(map<string,int> &doc,ifstream &file){ 
} 
int main(){ 
    map<string,int> doc1; 
    ifstream file; 
    file.open("doc1.txt"); 
    word_frequency(doc1,file); 
    file.close(); 

return 0; 
} 

오류 :

undefined reference to `word_frequency(std::map<std::string, int, std::less<std::string>, std::allocator<std::pair<std::string const, int> > >&, std::basic_ifstream<char, std::char_traits<char> >&)' 
+2

오류는 질문의 텍스트에있는 경우에 더 유용합니다. 어떤 라인이 그 원인인지 추측 할 수 있습니까? – StoryTeller

+0

@StoryTeller가 말한 내용과 컴파일러 명령 줄을 알려주십시오. – user0042

+0

'std :: ifstream'을 사용하려면 ''을 포함하십시오. 그 후에 이것은 재현 할 수없는 문제가 아닙니다. https://ideone.com/XUpGwH – StoryTeller

답변

0

당신은 word_frequency라는 함수를 정의하지 않으며, 당신이 정의되어있는 헤더를 포함 않았다. 따라서 함수는 링커에 알려지지 않습니다.