Как я могу объявить указатель шаблона, не зная типа?

Вот что я хотел бы сделать:

ExampleTemplate* pointer_to_template;
cin >> number;
switch (number) {
case 1:
    pointer_to_template = new ExampleTemplate<int>();
    break;
case 2:
    pointer_to_template = new ExampleTemplate<double>();
    break;
}
pointer_to_template->doStuff();

Это не компилируется, потому что тип шаблона должен быть указан при объявлении указателя. (ExampleTemplate* pointer_to_template должен быть ExampleTemplate* pointer_to_template). К сожалению, я не знаю тип шаблона, пока он не объявлен в блоке switch. Как лучше поступить в данной ситуации?

18
задан Mankarse 21 November 2011 в 00:24
поделиться