Я знаю, что эта ошибка была опубликована много, но я просто не могу понять, как решить мою.
Что мне нужно сделать, это прочитать файл построчно, использовать эти строки для создания объектов типа Rule, которые я добавлю к вектору rulesSet.
Итак, вот обновленный код:
knowledgebase.h
class KnowledgeBase
{
private:
vector<Rule> rulesSet;
public:
KnowledgeBase(string fileName);
};
rule.h
class Rule
{
private:
int priority;
bool valid;
vector<Attribute> LHS;
vector<Attribute> RHS;
public:
Rule(string rule);
public:
bool isValid();
};
knowledgebase.cpp
KnowledgeBase::KnowledgeBase(string fileName)
{
ifstream file (fileName.c_str());
if (file.is_open())
{
string r = "rule";
for(string rule; getline( file, rule); )
{
Rule newRule(r);
if(newRule.isValid())
{
//this->rulesSet.push_back(newRule);
}
}
}
else {
cerr << "Could not open file! ";
}
}
rule.cpp
Rule::Rule(string rule)
{
cout << rule << endl;
return;
}
bool Rule::isValid()
{
return this->valid;
}
Я уверен, что это как-то связано со строкой правило но я просто не могу найти способ обойти это. Любой совет приветствуется.
Спасибо.
Задача ещё не решена.
Других решений пока нет …