T不是一个类,但它是

The*_* do 0 c++ templates

为什么这不起作用?(为了他们的缘故!)

template<class T>
class A
{
    typedef typename T::value_type value_type;
public:
    A();
};
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:
错误1错误C2825:'T':当后跟'::'时必须是类或命名空间

但是T是一个班级,我刚刚指定那不是我吗?所以有什么问题?
谢谢.

Oli*_*rth 7

T 可能是原始类型,具体取决于您如何实例化模板...