Por que a facilidade INVOKE no padrão C ++ 11 se refere aos membros de dados?

$ 20.8.2 da norma descreve o recurso INVOKE que é usado principalmente para descrever como as chamadas são chamadas com listas de argumentos variadicos em toda a biblioteca padrão:

Defina INVOKE (f, t1, t2, ..., tN) da seguinte maneira:

(t1.*f)(t2, ..., tN) quando f é um ponteiro para uma função de membro de uma classe T e t1 é um objeto do tipo T ou uma referência a um objeto do tipo T ou uma referência a um objeto de um tipo derivado de T;

((*t1).*f)(t2, ..., tN) quando f é um ponteiro para uma função-membro de uma classe T e t1 não é um dos tipos descritos no item anterior;

t1.*f quando N == 1 e f é um ponteiro para os dados de membro de uma classe T e t1 é um objeto do tipo T ou uma referência a um objeto do tipo T ou uma referência a um objeto de um tipo derivado de T;

(*t1).*f quando N == 1 e f é um ponteiro para dados de membro de uma classe T e t1 não é um dos tipos descritos no item anterior;

f(t1, t2, ..., tN) em todos os outros casos.

Quais são o terceiro e o quarto item para? Tanto quanto eu posso dizer, eles não chamamf mesmo sef é chamado. Qual é o caso do usuário para eles? Talvez seja um erro de digitação no padrão e*f() foi pretendido?

questionAnswers(1)

yourAnswerToTheQuestion