Re[14]: error C2784: could not deduce template argument
От: collider  
Дата: 16.10.15 08:01
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>Здравствуйте, collider, Вы писали:


C>>А фиг знает, я ж до конструктора не доберусь, пока struct_t не конкретизирую.


TB>Да, верно, дело в этом.

TB>А дальше уже правила становятся не очень очевидными, поэтому вывод не стали делать слишком умным.
TB>Надеюсь, вариант с промежуточной функцией (в которой явно задано правило, какую struct_t<T> выбрать) у тебя прокатил?

TB>А сколько раз ещё тебе придётся писать вот так:

TB>
TB>template <typename T>
TB>struct SomeStruct__
TB>{
TB>    SomeStruct__(const T& t) 
TB>    { 
TB>        // какой-то код
TB>    }
TB>    // много кода, полей, методов
TB>};

TB>template <typename T>
TB>SomeStruct__<T> SomeStruct(const T& t) 
TB>{
TB>    return SomeStruct__<T>(t);
TB>}
TB>

TB>Это конструкция случайно не имеет специального названия?
Ну как сказать... Приведенный мною пример немного проще, чем на самом деле.
Сама идея была в том, чтобы упростить жизнь при использовании классов и дать возможность передавать как обертку struct_t<T> так и T
в конструкторы. А я человек, прямо скажем, ленивый, и хотел эту мелкую проблему как то хитренько и быстренько обойти.
Не получилось, пришлось добавлять конструкторы с struct_t<T> и T.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.