LINUX.ORG.RU

История изменений

Исправление r--r--r--, (текущая версия) :

не смогает, и также без понятных мне причин

Чтобы не было хрен пойми какого поведения из-за мешанины перегрузок из разных неймспейсов. Очевидно же.

Ну и по ОП-посту:

Этому есть какие-то объяснения?

У тебя рекурсивная зависимость между выводом типа функции и выводом аргумента функции - чтобы инстанцировать шаблонную функцию, надо знать типы аргументов, а чтобы конвертировать brace-enclosed initializer list в конкретный тип, надо знать тип функции, включающий в сигнатуру типы аргументов.

Исправление r--r--r--, :

не смогает, и также без понятных мне причин

Чтобы не было хрен пойми какого поведения из-за мешанины перегрузок из разных неймспейсов. Очевидно же.

Ну и по ОП-посту:

Этому есть какие-то объяснения?

У тебя рекурсивная зависимость между выводом типа функции выводом аргумента функции - чтобы инстанцировать шаблонную функцию, надо знать типы аргументов, а чтобы конвертировать brace-enclosed initializer list в конкретный тип, надо знать тип функции, включающий в сигнатуру типы аргументов.

Исправление r--r--r--, :

не смогает, и также без понятных мне причин

Чтобы не было хрен пойми какого поведения из-за мешанины перегрузок из разных неймспейсов. Очевидно же.

Ну и по ОП-посту:

Этому есть какие-то объяснения?

У тебя рекурсивная зависимость между выводом типа функции выводом аргумента функции.

Исправление r--r--r--, :

не смогает, и также без понятных мне причин

Чтобы не было хрен пойми какого поведения из-за мешанины перегрузок из разных неймспейсов. Очевидно же.

Ну и по ОП-посту:

Этому есть какие-то объяснения?

func({...});

Тип функции будет выведен после вывода типа аргументов. Тип аргумента неизвестен. Угадывать его тип перебором всего множество возможных кандидатов на подходящий никто конечно же не будет.

Исходная версия r--r--r--, :

не смогает, и также без понятных мне причин

Чтобы не было хрен пойми какого поведения из-за мешанины перегрузок из разных неймспейсов. Очевидно же.