Существует раздел кода в библиотеке я использую, который выглядит следующим образом:Wildcards в TypeID
...
if (ptype == typeid(Vector< T, 4 >))
{
This->SetNumberOfComponents(4);
}
else if (ptype == typeid(Vector< T, 5 >))
{
This->SetNumberOfComponents(5);
}
...
Если какой-либо способ сделать это более общий характер, делая что-то вроде
if (ptype == typeid(Vector< T, ANYTHING >))
{
This->SetNumberOfComponents(THE_SECOND_TEMPLATE_PARAM);
}
?
Спасибо,
Дэвид
Можете ли вы создать шаблон с точным векторным типом, а не хранить объект типа? Это более условно и дает это тривиальное решение. – 2010-11-08 18:12:49
Если я изменю интерфейс к этой функции, это будет гигантская задача найти всюду в библиотеке, которую она вызвала, и изменить ее. Изменение внутренних функций функции - это все, что я могу себе позволить в данный момент. –
Roger, я хочу принять ваш ответ «просто не использовать typeid» - можете ли вы создать «ответ», а не «комментарий», чтобы я мог его принять? –