T>Как заставить компилятор генерировать fake_type автоматически чтобы не возникало redifinition и чтобы вызов свести к виду: T>
T>DerivedType1<IDerivedType1> result = Convert<IDerivedType1>::Cast(test);
T>
T>Или это невозможно?
fake_type не нужны.
В таких ситуациях следует делать метод кастования шаблонными, а реализовывать кастование как статический метод в (частичной) специализации шаблона класса.
Тогда при вызове второй аргумент шаблона будет выводится автоматом:
Здравствуйте, turbocode, Вы писали:
VTT>>Описанная идея должна работать и под ним. VTT>>В примере есть автоматический вывод типа и аргумент шаблона по-умолчанию, но это не существенно.
T>По-моему твой пример жестко упирается в С++11 auto
Нет, в это точно не упирается.
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
Здравствуйте, turbocode, Вы писали:
T>>>По-моему твой пример жестко упирается в С++11 auto VTT>>Нет, в это точно не упирается.
T>Не было decltype(auto) в C++03
Не было, и просто auto не было, но их использовать совсем не обязательно, можно явно написать тип.
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.