"无法解析构造函数"在类中使用类型别名时

时间:2016-11-12 16:02:09

标签: c++ c++11 templates clion

我对C ++很新,所以如果我在这里天真,请原谅我。我有一个片段来演示我的问题:

template<typename _T, typename _Key, typename _Val>
class Foo {
    typedef std::pair<_Key, _Val> _P1;
    using _P2 = std::pair<_Key, _Val>;

    _T *t = new _T();
    _P1 *p1 = new _P1();
    _P2 *p2 = new _P2(); // (IDE) error: can't resolve constructor '_P2'
}

我的理解是using等同于typedef。为什么前两个声明有效但第三个声明由我的IDE标记?此外,它编译没有错误,我可以很好地获得_P2*指针。这里发生了什么?

1 个答案:

答案 0 :(得分:0)

这绝对是CLION中的bug