Re: typedef внутри шаблона
От: ZegSoft Россия  
Дата: 15.02.11 11:34
Оценка:
Здравствуйте, al.zatv, Вы писали:

AZ>Вот есть функция,параметризуемая шаблоном. Внутри этого шаблона есть длинный тип, который мне надо использовать. Например


AZ>template <class Graph>

AZ>void fn(Graph &g, typename Graph::vertex_descriptor d1)
AZ>{...}

AZ>Писать typename Graph::vertex_descriptor тяжело и длинно.


AZ>Можно ли сказать так:

AZ>template <class Graph>
AZ>имей_в_виду_что vertex=typename Graph::vertex_descriptor
AZ>void fn(Graph &g, d1,typename Graph::edge_descriptor d2)
AZ>{...}

AZ>Понятно,что можно сделать ещё один параметр шаблона и задать его значением по умолчанию, но это как-то кажется некрасивым. Может есть ещё какой-то способ?


AZ>Заранее благодарен


Добавь в начало объявления класса:

typedef typename Graph::vertex_descriptor vertex;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.