这是导致问题的代码示例:
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。
那么为什么这是语法错误?
- 编辑 -
关于重复的问题。我不认为它是重复的,它实际上是这个问题的答案。要发现这个问题,我不得不知道这个问题的答案。