Допускаются ли спецификаторы noexcept в определениях типов функций?
как в:
typedef void (*fptr)() noexcept;
Интуитивно, спецификаторы noexcept кажутся логичными, поскольку они разрешить некоторую оптимизацию на стороне вызывающего абонента.
Я получил смешанный ответ от gcc 4.6.1.
typedef void (*fptr)() noexcept;
приводит к: ошибке: ‘fptr’ объявлен со спецификацией исключения
, но:
template<void (*FPtr)() noexcept>
struct A{};
компилируется без предупреждения.