在模板化类的构造函数中使用其他类的typedefinition

时间:2018-12-19 16:51:35

标签: c++ class templates typedef

我正在尝试创建一个类,在该类中,构造函数采用与模板化类中定义的typedefinition相对应的类型的参数。 请参阅以下未编译的说明性片段。

class A
{
    typedef enum test_t {
        a1,
        a2,
        a3
    } test_t;
};

template <class T>
class B
{
    B(T::test_t obj);
};

template <class T>
B<T>::B(T::test_t obj)
{

}

// Explicit definition to let compiler know a template instantiation
template class B<A>;

编译此代码时,出现以下错误:

  

TemplatedClassTest.cpp:13:14:错误:在“ obj”之前出现预期的“)”

     

TemplatedClassTest.cpp:17:8:错误:“(”令牌之前的预期构造函数,析构函数或类型转换

0 个答案:

没有答案