Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] MSVC6 bug. 09.07.01 13:43 Число просмотров: 557
Автор: Yehor Статус: Незарегистрированный пользователь
|
попробуйте получить адекватный печатный результат из работы следующего кода:
#include <iostream>
#include <string>
using namespace std;
//1:
//template<class T> class A{};
template<class T>
inline string typeName( /*2: const T = T() */ )
{
return typeid( T ).name();
}
void main()
{
cout << typeName<bool>() << endl
<< typeName<int>() << endl
<< typeName<char>() << endl
<< typeName<double>()<< endl
// 3:
// << typeName<A<bool> >() << endl
;
}
у меня все функции инстанцируются с double. Уберите комментарии 1 и 3. будет вечный A<bool>. Раскомментируйте 2. Все ОК. А теперь, внимание, вопрос: как, принимая во внимание весь этот цирк, ПЕРЕГРУЗИТЬ шаблонную функцию для определенного типа, скажем, чтоб для A<bool> возвернуть не "class A<bool>", что по умолчанию, а "хелло, Билли"? ОЧЕНЬ занимательные экперименты получаются... :((
спасибо
|
- [C++] MSVC6 bug. - Yehor 09.07.01 13:43 [557]
|
|
|