Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Как получить указатель на шаблонную функцию


Автор: bel_nikita 12.5.2004, 20:44
Что-то у меня крыша поехала withstupid.gif
Возможно ли такое?
Типа:
Код

typedef void  (*Fp1)();

template<typename T>
void CreateObjectTT()
{
 T Data;
 new char[100];
}

void CreateObj()
{
 char Data;
 new char[100];
}
 ...
Fp1  Fn2=CreateObj;
//Fp1 Fn=CreateObjectTT<char>; // Возможно ли?


Автор: srd 12.5.2004, 23:31
Да

Автор: bel_nikita 12.5.2004, 23:38
srd
Но как? Компилятор посылает по дальше. Типа функция не специализирована.

Автор: srd 12.5.2004, 23:43
bel_nikita
Я скопипастил этот код в VC++.NET 2003 и скомпилировал. Всё ОК. У тебя какой компилятор?

Автор: bel_nikita 12.5.2004, 23:47
Что серьезно?
MSVC6
У меня не катитsad.gif

Автор: dargaard 13.5.2004, 07:37
В g++(gcc) тоже все нормально откопилилось.

Автор: gray_k 13.5.2004, 10:05
Borland скомпилил нормально.
Кстати это не первый пост, где VC6 не компилит с шаблонами.

Автор: Artiom 13.5.2004, 11:12
У меня в VC++ 6.0 тоже не компилится.

Автор: bel_nikita 13.5.2004, 11:15
Ой, бес попуталsmile.gif
Походу VC6 в антиквар сдавать надоsmile.gif

Автор: Artiom 13.5.2004, 11:15
Извини ошибся не тот проект компилил

Автор: bel_nikita 13.5.2004, 11:18
Artiom
Так я не понял, компилится или нет smile.gif
если компилится, то скинь пример, пожалуйста

Автор: Guest 13.5.2004, 11:53
1)Строго говоря это не от компилятора зависит,а от уровня оптимизации и настройки вирттуальных таблиц. У меня скомпилилось в 3 Билдере при насройках шаблонов/таблиц global/global(при остальных она просто в силу поятных причин ни линкуется). Как настроить втаблы в MSVC 6 вопрос отдельный, к сожалению не знаю.

Автор: Artiom 13.5.2004, 15:33
bel_nikita
нет не компилится
у меня два проекта было открыто. Код записал в один, потом отвлекся и закомпилил другой. Вот и написал сначала на радостях, а потом исправился
Sorry за путаницу.

Автор: bel_nikita 13.5.2004, 21:25
У кого компилиться - приведите пример, пожалуйста (компилятор уже не важно)
Что-то у меня вообще крыша съехала withstupid.gif

Автор: gray_k 14.5.2004, 07:39
Компилятор - Borland C++ Builder 6.
Верхний пример компилится без проблем.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)