سلام.قصد دارم reverse_iterator را با using به عنوان یک نوع جدید تعریف کنم ولی کامپایلرم vs2015 است خطا مید.
template<typename Object > using ObjectGtReverseIt = ObjectGts<Object>::reverse_iterator;
میگه reverse_iterator را نمی شناسه علت از چیه؟
چون iterator وابسته به type است و در مثال شما هنوز type به صورت جنریک است کامپایلر در مورد iterator تعریف شده اطلاع نداره که type یا value به همین خاطر شما با استفاده از typename صراحتا به کامپایلر اعلام می کنید که شما قصد دارید از نوعی در کلاس دیگر استفاده کنید.
template<typename Object > using ObjectGtReverseIt = typename ObjectGts<Object>::reverse_iterator;