адрес функции шаблона c ++

Почему это не компилируется? (g ++ - 4.5)

template < typename U >
static void h () {
}

int main () {
  auto p = &h<int>; // error: p has incomplete type
}

РЕДАКТИРОВАТЬ : обходной путь:

template < typename U >
static void h () {
}

int main () {
  typedef decltype (&h<int>) D;
  D p = &h<int>; // works
}
20
задан Johannes Schaub - litb 2 October 2011 в 10:33
поделиться