初心者ですが、これは(おそらく一般的な)質問を正確に検索するためにはっきりとしていませんでした。 私は与えられたクラス(辞書)を持っているプログラムに取り組んでいます。私は辞書を実装する具体的なクラス(Word)を作ることになっています。私は辞書で何も変更しないことを言及する必要があります。C++初心者:デフォルトとカスタムコンストラクタの呼び出し
Word用のヘッダーファイルを作成した後、word.cppにすべてを定義します。 これを正しく実行しているかどうかは不明ですが、コンストラクタを特定のファイルから読み込み、その情報をWordのパブリックメンバに格納します。 (私はベクトルがプライベートでなければならないことを理解し、私はこの現在の問題の根本を取得することが公開されて)
dictionary.h
#ifndef __DICTIONARY_H__
#define __DICTIONARY_H__
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
using namespace std;
class Dictionary
{
public:
Dictionary(istream&);
virtual int search(string keyword, size_t prefix_length)=0;
};
#endif /* __DICTIONARY_H__ */
word.h
#ifndef __WORD_H__
#define __WORD_H__
#include "dictionary.h"
class Word : public Dictionary{
public:
vector<string> dictionary_words;
vector<string> source_file_words;
Word(istream &file);
int search(string keyword, size_t prefix_length);
void permutation_search(string keyword, string& prefix, ofstream& fout, int& prefix_length);
};
#endif /* __WORD_H__*/
word.cpp
word.cppで#include "word.h"
Word(istream& file) : Dictionary(istream& file)
{
string temp;
while (file >> temp)
{
getline(file,temp);
dictionary_words.push_back(temp);
}
}
、ライン上の「ことば::ことば(のIStream &ファイル) "、私はこのエラーを取得します: '[エラー:' Dictionary :: Dictionary() 'の呼び出しに一致する関数がありません。
私はこのエラーは「Wordのコンストラクタが辞書を呼び出す」ためであると言われていますが、私はまだその考えをよく理解していません。私はDictionaryのコンストラクタを使用しようとはしていませんが、Wordのものです。 誰かが解決策のアイデアを持っている場合は、この問題を引き起こしていることに関連して、私が調べることができることにも感謝します。
ストップ説明思えます言語/識別子) – Danh