我有一個類Dictionary
它有一個字典中的字符串矢量。 我正在採取Word
從用戶,並檢查單詞是否在Dictionary
。將一個類的對象傳遞給另一個類
由於實施的限制,我需要Dictionary
類(可變Lexicon
)的對象傳遞給Word
類(在一個Word
類我需要使用其在Dictionary
類中定義的搜索功能)。
所以我在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
您的代碼[does not work](http://importblogkit.com/2015/07/does-not-work/)? –
發佈一個[MCVE],重現您的錯誤,請。 –
尊敬的用戶。人類語言也有一些語法規則。每個語句都需要以'。'(與C++中的';'原理相同)來結束。沒有你的'。'你的問題很難理解。我相應編輯。另外請記住,「不起作用」是無用的。 「不編譯」使事情變得更清晰;-)。 – Christophe