正如标题所示,我试图使用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,当我以后使用它