Re[2]: Templates: вывод значения аргумента функции
От: letopisez  
Дата: 01.11.12 13:21
Оценка:
Всем спасибо.

Предыдущий пример с массивом был фиктивным, показывающий суть задачи. Но сама задача совсем другая.
Вообще идея была проверять допустимость использования первого аргумента функции со вторым.

Понимаю что сумбурно, но вот пример, надеюсь что прояснит немного ситуацию.

class PropertyContainer
{
void SetProperty(int query_id, Variant v);

template <int query_id, class T>
void SetProperty(T &prop)
{
SetProperty(Validator<query_id,T>::id, prop); // генерация ошибки времени компиляции если не специализирован Validator<query_id,T>
}
}

CREATE_PROPERTY(QID_TIMER, int);

//использование
pInst->SetProperty<QID_TIMER>(123);

Вот здесь хотелось привести к обычному виду, просто потому, что QID_TIMER — по смыслу является аргументом метода.
А при такой записи, это не очевидно. Вот вобщем и все.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.