我是使用 g++ 编译的新手。但是,如果我使用 Visual Studio,则可以使用以下代码。
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, "");
}
};
错误是:“'值'未声明”。我需要纠正什么才能用 g++ 编译?感谢帮助