Re[2]: Ограницения template type arguments
От: Anonim547  
Дата: 01.02.10 19:10
Оценка: 34 (2)
Здравствуйте, Кодт, Вы писали:

К>Ибо, как можно сделать переменную типа "функция"?

К>Вот переменную типа "указатель на функцию" — запросто.

Насколько я успел понять, вопрос в трактовке 14.3.1/3. Стандарт не запрещает использовать тип таким образом:
typedef int function();

template<class T> struct A {
  // static T t;     // 1 - ill-formed, type dependent on a template-parameter
  static function t; // 1a - Ok
  T *pt;             // 2 - ???
  typedef T T2;      // 3 - ???
};

A<function> a; // комментарии выше указаны исключительно для данной специализации

здесь рассматривают похожий вопрос, в финале

I submitted a reduced version of the code to Comeau and asked them why it didn't compile. It turns out to be 14.3.1/3

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.