나는 사전에 문자열의 벡터가있는 클래스 Dictionary
을 가지고있다. 사용자로부터 Word
을 가져 와서 해당 단어가 Dictionary
인지 확인합니다. 때문에 구현의 제약클래스의 객체를 다른 클래스에 전달
, I (나는 Dictionary
클래스에 정의 된 검색 기능을 사용하는 것이 필요 Word
클래스) Word
클래스에 클래스 Dictionary
(Lexicon
변수)의 객체를 전달해야한다.
그래서 나는 Word
클래스에 있으며 MyWords.search();
을 호출합니다. 하지만 내 코드가 컴파일되지 않습니다! 왜 ? 여기
int main()
{
Dictionary Lexicon(dictionary_file)
dictionary_file.close();
cout<<"Please enter a word to be searched in the dictionary:"<<endl;
cin>>word_to_search;
Word Keyword;
Keyword.setter(word_to_search);
Keyword.gettingDictionary(Lexicon);
return 0;
}
void Word::gettingDictionary(const Dictionary& myWords)
{
myWords.search(keyword);// function defined in Dictionary class
//keyword is a member of Word class
}
컴파일 할 때 내가받은 오류 :
++ -c main.cpp
In file included from dictionary.h:22:0,
from main.cpp:19:
word.h:45:31: error: ‘Dictionary’ does not name a type
void gettingDictionary(const Dictionary& myWords);
^~~~~~~~~~
main.cpp: In function ‘int main(int, char**)’:
main.cpp:82:41: error: no matching function for call to ‘Word::gettingDictionary(Dictionary&)’
Keyword.gettingDictionary(Lexicon);
^
In file included from dictionary.h:22:0,
from main.cpp:19:
word.h:45:7: note: candidate: void Word::gettingDictionary(const int&)
void gettingDictionary(const Dictionary& myWords);
^~~~~~~~~~~~~~~~~
word.h:45:7: note: no known conversion for argument 1 from ‘Dictionary’ to ‘const int&’
make: *** [Makefile:7: main.o] Error 1
코드가 작동하지 않습니다 (http://importblogkit.com/2015/07/does-not-work/)? –
오류를 재생산하는 [MCVE]를 게시하십시오. –
친애하는 사용자. 인간 언어는 구문 규칙을 가지고 있습니다. 모든 문장은'.' (C++에서';'와 같은 원리)에 의해 끝나야합니다. 당신의 질문이 없으면 당신의 질문은 이해하기가 매우 어렵습니다. 나는 그에 따라 편집했다. 또한 "작동하지 않는다"는 것은 쓸모 없다는 것을 명심하십시오. "컴파일하지 않는다"는 것을 훨씬 명확하게 만든다 ;-). – Christophe