我有一个类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