decltype :: static_member C ++

时间:2013-02-06 23:02:18

标签: c++ templates reflection decltype

正如标题所示,我试图使用decltype来获取模板的类型。我试过的方式是:

template<typename T> class List
{
....
public:
    typedef T type;
....
};

的main.cpp

int main(int argc, char* argv[])
{
    List<int> intl;
    decltype(intl)::type t;  // compiler doesnt try to access the decltype's members but reverts to global namespace (as if i had typed :: on a new line
}

我的印象是,decltype返回了一个类型,好像你已经写过它(在代码中也称为“int”)。情况不是这样吗?

另外,还有其他方法可以从模板类中获取typename T吗?

提前致谢。

EXTENTION:

    List<int> intl;
typedef decltype(intl) listtype;
listtype::type i;

我是一个无符号的人...我很困惑

好的发现了。 WOO 2编译器错误1 :)我有一个for循环声明unsigned int(然后超出范围但由于某种原因它仍然是一个unsigned int,当我以后使用它

0 个答案:

没有答案