- 主题:class template做基类的问题
template<class T>
struct base
{
T a;
}
template<class T>
struct derived: public: base<T>
{
derived(T n)
{
a = b = n;
}
T b;
}
编译的时候报错说找不到a,改成 this->a = b = n就可以。我知道大概是怎么回事,问题是,除了用this->还有什么更简单的办法?
--
FROM 115.205.29.*
base<T>::a
【 在 ziqin 的大作中提到: 】
: template<class T>
: struct base
: {
: ...................
--来自微微水木3.5.12
--
FROM 223.167.169.*
【 在 ziqin 的大作中提到: 】
: template<class T>
: struct base
: {
: ...................
如果a要用很多次,可以在派生类里 using base<T>::a;
--
FROM 211.145.67.*
公有成员不能直接用,反人类啊
--
FROM 223.104.211.*
【 在 tortelee 的大作中提到: 】
: 公有成员不能直接用,反人类啊
c++模板的复杂性决定的
--
FROM 211.145.67.*
主要vs里不能自动弹出变量名了,写代码麻烦得很
【 在 leslin 的大作中提到: 】
:
: c++模板的复杂性决定的
--
FROM 115.193.184.*