我有一个包含类 Car 的实例的类 Tran。如果程序包含typename
before typedef
,则会产生错误:“expected nested-name-specifier before typedef
”。如果不包含typename
,则会产生错误:“在 'Tran::CarType::Model' 之前需要 'typename',因为 'Tran::CarType' 是依赖范围”。是什么导致了这个问题?
#include "Car.hpp"
template<typename A, typename B, typename C>
class Tran {
public:
typedef Car<A, B> CarType; //compilation error
typedef CarType::Model M; //compilation error
private:
CarType myCar;
}