указать на функцию-член. Извините, я больше не буду отвечать, я сделал все возможное, чтобы попытаться объяснить, и я просто повторяюсь
тении[Expr.prim.id], увидишь, что
Выражение id, которое обозначает нестатический член данных или нестатическую функцию-член класса, может использоваться только:
если это id-выражение обозначает нестатический элемент данных и появляется в неоцененном операнде.Тот факт, что вышеприведенный пункт относится только к элементам данных, мне неясен. Интуитивно я ожидаю, что следующее будет правильно сформировано:
#include <type_traits>
using func = int();
class bar {
func foo; // This is valid, and not the subject of the question
};
static_assert(std::is_same<decltype(bar::foo), func>::value, "No Symmetry!");
Ноdecltype()
плохо сформирован еще до того, как проверено статическое утверждение.
Есть ли какая-то двусмысленность, по которой я скучаю?