无法调用继承的受保护泛型类成员
Can't call inherited protected generic class members
可能重复:
访问从模板化父类继承的变量
有这样一类:
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.... */
现在我得到的错误是:
等等。等
我到底做错了什么?
您需要this->token
。
相关文章:
- C++泛型类错误,问题出在哪里?
- C++泛型类,单独实现?
- 如何在 C++ 中声明泛型类
- 是否可以基于私有/受保护成员分配类枚举?
- 在C++中分配泛型类
- C++,无法获取受保护的抽象类属性
- 基于变量输入的泛型类方法计算
- std::异步不能调用受保护的基类方法
- C++处理取消引用语法的泛型类
- 从嵌套结构调用受保护的基类函数
- 用于重载的泛型类成员函数
- 将类型作为指向另一个类的对象的指针的泛型类-NOT WORKING
- 在泛型类中使用带有 CUDA 关键字的模板类
- 在类中使用泛型类成员
- 如何在main中重载运算符>泛型类.cpp
- 通过此指针调用受保护的基类方法,该指针投射到派生类(C++)中的基类
- C++泛型类中的字段/属性
- 用返回子类的方法设计C++泛型类
- C++ 堆栈泛型类,int 变量将 32765 作为值而不是 1
- 无法调用继承的受保护泛型类成员