为什么从模板成员函数返回模板类枚举语法错误?

时间:2016-08-15 05:19:10

标签: c++ templates enums

这是导致问题的代码示例:

template <typename T>
class Test
{
public:
    enum class X
    {
        ABC
    };

    X GetX() const;

private:
    X m_x;
};

template <typename T>
Test<T>::X Test<T>::GetX() const // syntax error: identifier 'X'
{
    return m_x;
}

我确信我在这里缺少一些简单的东西,但我似乎无法弄明白。上面的注释行显示了我得到的错误。我正在使用VS2015。

那么为什么这是语法错误?

- 编辑 -

关于重复的问题。我不认为它是重复的,它实际上是这个问题的答案。要发现这个问题,我不得不知道这个问题的答案。

0 个答案:

没有答案