【发布时间】:2012-01-07 12:49:29
【问题描述】:
可能重复:
Accessing inherited variable from templated parent class
有这个类:
template<typename T> class Parser
{
public:
Parser() : count(0) {}
virtual void parse(const string&);
protected:
virtual void get_token(void);
char token;
string expression;
int count;
};
我创建了这个派生类:
#include <sstream>
#include <cstring>
#include "Parser.h"
template <typename T> class ArithmeticExpressionParser : public Parser<T>
{
public:
ArithmeticExpressionParser() : Parser<T>() {}
protected:
virtual T parse_plus_minus();
virtual T parse_divide_multiply()
{
T result , temp;
result = parse_exponent();
if(this.token == '/')
{
temp = parse_divide_multiply();
result /= temp;
}
else if(token == '*')
{
temp = parse_divide_multiply();
result *= temp;
}
else if(token == '%')
{
temp = parse_divide_multiply();
result %= temp;
}
return result;
}
/* more code.... */
现在我得到的错误是:
等等。等等
我到底做错了什么?
【问题讨论】:
标签: c++ templates generics inheritance