L>Если указывать класс элемента явно, то естественно всё работает. Можно как-нибудь изменить конструктор так, чтобы и вторая строка заработала?
Нет, нельзя. Тип переменной sc2 должен быть указан явно.
Что можно сделать?
Унаследовать твой шаблонный SomeClass от нешаблонного и сделать функцию-мейкер.
Примерно так (не компилировал)
class base {
//interface goes here
....
};
template <class T>
class derived : public base {
//data memebers and implementation
....
};
typedef const base& MyClass;
template <class T>
base create_class(T ...) {
derived<T> t;
...
}
void main () {
MyClass class = create_class(var);
}
Да здравствует мыло душистое и веревка пушистая.
Re[2]: Вывод аргумента шаблона класса из аргументов конструк
Здравствуйте, Ops, Вы писали:
R>>Я не Александреску, что бы писать программы на бумажке по стандарту. Я компиляторы использую.
Ops>Вроде их всего 2 таких, из распространенных, и не факт, что человек использует один из них.
Все основные промышленные компиляторы поддерживают auto — MSVC, ICC, gcc. Ну а что до CC, так там тоже gcc доступен.
Здравствуйте, Ops, Вы писали:
R>>Все основные промышленные компиляторы поддерживают auto — MSVC, ICC, gcc. Ну а что до CC, так там тоже gcc доступен.
Ops>Все, вопрос — с какой версии.
Неизвестно, может и можно, но, скорее всего, сложно. Я пока решил, что фичи в C++ 0x, конечно, приятные, но их использование не создаст такого экономического эффекта, чтобы оправдать возможные затраты времени на обновление компиляторов в SDK и риск того, что что-нибудь сломается.