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.
是否可以使用由另一个类型X内部的 typedef 定义的类型Y,来自第三个模板化类型Z,其中X充当Z的模板参数?
这个(非编译)伪代码说明了所需的行为:
struct X { typedef float Y; }; template<typename T> struct Z { void DoSomething(T::Y with_this); };
是的,这是可能的。您只需要让编译器知道这T::Y是一种类型,因为它取决于T:
T::Y
T
void DoSomething(typename T::Y with_this);