خطا در تعریف reverse_iterator - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

خطا در تعریف reverse_iterator

0 امتیاز

سلام.قصد دارم reverse_iterator را با using به عنوان یک نوع جدید تعریف کنم ولی کامپایلرم vs2015 است خطا مید.

	template<typename Object >
	using ObjectGtReverseIt =  ObjectGts<Object>::reverse_iterator;

میگه reverse_iterator را نمی شناسه علت از چیه؟

سوال شده تیر 1, 1396  بوسیله ی hojat1 (امتیاز 875)   12 69 99
دوباره تگ گذاری شد تیر 2, 1396 بوسیله ی مصطفی ساتکی

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

چون iterator وابسته به type است و در مثال شما هنوز type به صورت جنریک است کامپایلر در مورد iterator تعریف شده اطلاع نداره که type یا value  به همین خاطر شما با استفاده از typename صراحتا به کامپایلر اعلام می کنید که شما قصد دارید از نوعی در کلاس دیگر استفاده کنید.

template<typename Object >
using ObjectGtReverseIt = typename ObjectGts<Object>::reverse_iterator;

 

پاسخ داده شده تیر 2, 1396 بوسیله ی عباس مولایی (امتیاز 2,754)   1 5 13
انتخاب شد تیر 2, 1396 بوسیله ی hojat1
...