VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 784|回复: 4

一个模板类继承的问题。。。。

[复制链接]

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-31 07:20:01 | 显示全部楼层 |阅读模式
以下代码在GNU G++中报
test.cpp:53: 错误:依赖名 ‘CAttrValue<TVal>::CAttrValue’ 被解析为非类型,但实例化却产生了一个类型
test.cpp:53: 附注:如果您想指定类型,请使用 ‘typename CValue<TVal>::CValue’
请问我哪里写错了??我用typename CAttrValue<TVal>::CAttrValue()结果是不被执行的。

#include <iostream>
#include <ext/hash_map>

using namespace std;
using namespace __gnu_cxx;

typedef unsigned short WORD;

template<typename TVal>
struct CValue
{
        CValue()
        {
                base = 0;
                extend = 0;
                attach = 0;
                rate = 100;
                value = 0;
        }

        CValue(TVal b,TVal e,TVal a,WORD r)
        {
                base = b;
                extend = e;
                attach = a;
                rate = r;
        }



        TVal    base;                  
        TVal    extend;                 
        TVal    attach;                 
        WORD    rate;                  
        TVal    value;                  
};

template<typename TVal>
struct CMaxValue : CValue<TVal>
{
        CMaxValue()
        {
                current=0;
                CValue<TVal>::CValue<TVal>();
        }

        CMaxValue(TVal b,TVal e,TVal a,WORD r,TVal c)
        {
                current=c;
                CValue<TVal>::CValue(b,e,a,r);
        }


        TVal current;

};

int main()
{

        CMaxValue<long> =CMaxValue<long>(1,2,3,4,5);
        //CMaxValue<long> ;
        cout<<.base<<endl;
}
回复

使用道具 举报

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-3-8 19:00:02 | 显示全部楼层
int main()
{

        CMaxValue<long> Val=CMaxValue<long>(1,2,3,4,5);
        cout<<Val.base<<endl;
}
回复

使用道具 举报

0

主题

55

帖子

44.00

积分

新手上路

Rank: 1

积分
44.00
发表于 2020-3-8 21:45:01 | 显示全部楼层
兄弟,你怎么基础的派生类构造函数调基类构造函数的语法还没会,就已经跳到了从模板进行派生?
        CMaxValue(): CValue<TVal>(), current(0)
        {
        }
回复

使用道具 举报

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-3-9 13:15:02 | 显示全部楼层
呵呵,边学边用啊。。。虚函数是不是要象我这样调啊??
回复

使用道具 举报

1

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-3-9 20:15:01 | 显示全部楼层
兄弟,谢谢你:)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表