Ich bin ein Anfänger beim Kompilieren mit g ++. Aber es ist ok mit dem folgenden Code, wenn ich Visual Studio verwende.Wie kann ich mit GNU C++ auf Felder einer geerbten Klasse verweisen?
template <typename ValueType>
class ExprBase {
private:
ExprBase() {}
protected:
ValueType value;
public:
explicit ExprBase (const ValueType& v) : value(v) {}
virtual Value<ValueType> operator() (const map<const char*, ValueType>& values) const {
return Value<ValueType>(ValueType(), "");
}
};
template <typename ValueType>
class Const : public ExprBase<ValueType> {
public:
Const (const ValueType& v) : ExprBase<ValueType>(v) {}
virtual Value<ValueType> operator() (const map<const char*, ValueType>& values) const {
return Value<ValueType>(value, "");
}
};
Der Fehler ist: "'Wert' nicht deklariert". Was muss ich korrigieren, um mit g ++ kompilieren zu können? Dank für Hilfe
Es kann hilfreich sein, wenn Sie auch die g ++ - Ausgabe veröffentlichen. – Troubadour