加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 枚举有问题

发布时间:2020-12-16 10:21:13 所属栏目:百科 来源:网络整理
导读:我有类似的东西: enum Direction{Forward,Backward};templateDirection dir = Forwardclass X{private: Direction my_direction_;public: void set_direction(Direction dir)//here I'm getting an error { my_direction_ = dir; }}; 错误:’Direction dir
我有类似的东西:

enum Direction{Forward,Backward};

template<Direction dir = Forward>
class X
{
private:

    Direction my_direction_;
public:

    void set_direction(Direction dir)//here I'm getting an error
    {
        my_direction_ = dir;
    }

};

错误:’Direction dir’的声明
有什么理由吗?顺便说一下,它确实用VS2010编译.

解决方法

更改:

template<Direction dir = Forward>

template<Direction direction = Forward>

error on gcc更具描述性:

prog.cpp: In member function ‘void X<dir>::set_direction(Direction)’:
prog.cpp:11: error: declaration of ‘Direction dir’
prog.cpp:3: error:  shadows template parm ‘Direction dir’

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读