Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个别名模板,使用 using 指令定义:
template<typename A> using T=TC<decltype(A::b),decltype(A::c)>;
C++11 是否提供一种机制来转发声明此模板别名T?
T
我试过了:
template<typename> struct T;
和:
template<typename> using T;
但两者都返回编译器错误(“与先前的声明冲突”)。我正在使用 gcc 4.8。
让它工作的语法是什么?
不,这是不可能的。
您要做的是向前声明TC,然后T在其下方立即定义。
TC
template<typename T, typename U> struct TC; template<typename A> using T=TC<decltype(A::b),decltype(A::c)>;