Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ С++ Unit Test (модульное тестирование) https://www.cyberforum.ru/ cpp/ thread441995.html
Вопроса по сути два. 1. что используете для модульного тестирования и почему отдаете этому предпочтение. 2. если используете eclipse, то очень интересует процесс конфигурирования eclipse для...
Сетевой график C++
ПОжалуйста помогите создать программу Задачи работы: - построение сетевого графика; - анализ сетевого графика; -оптимизация сетевого графика. p.s. сижу с сотки, интернет отключен программа...
C++ PopCap Games Framework 1.3
У кого есть ссылка на PopCap Games Framework 1.3 скиньте плииз! С сайта sourceforge.net никак не качается... Форум не место обмена ссылками!
C++ Необычная Dll Есть ли способ написать DLL, в которой есть функция и через неё будут проходить вызовы экспортируемых функций? Например в DLL нет функции Func, и тогда, по-умолчанию вызывается функция Default? https://www.cyberforum.ru/ cpp/ thread439998.html
C++ Сборки MinGW(GCC-win32/win64) от niXman https://www.cyberforum.ru/ cpp/ thread439067.html
с этого момента, буду производить тестовые/пререлизные/релизные сборки mingw. файлы с пометкой snapshot и prerelease - не стабильные версии. в реальных проектах использовать не рекомендую. использую...
Построение и программная реализация автоматных моделей языков C++
Доброе время суток всем. Будьте так любезны кто знает или умеет напишите пожалуйста примеры конечных автоматов. Можно в принципе и на Delphi толь тогда это не тот раздел. И всё же помагите...
Кто может собрать оффсет из crossfire в dll C++
всем привет. я с помощью программы ollydbg нашёл оФФсет игры crossfire ,я могу написать вам его,и чтобы вы его собрали в dll для читы плиз оч нужно
C++ C++ и CS 1.6 Доброго времени суток! У меня возник вопрос, как средствами C++ узнать SteamID клиента CS 1.6 Хотя бы такой вариант! Запускаем созданную программу, затем игру cs 1.6 и в программе появляется... https://www.cyberforum.ru/ cpp/ thread437780.html
C++ Модуль-посредник для wtsapi32.dll https://www.cyberforum.ru/ cpp/ thread435341.html
Здравствуйте. Вот пытаюсь написать модель-посредник для wtsapi32.dll. Судь заключается в том, что этот модуль заменяет оригинальный и просто перенаправляет все на оригинальный функции. При написании...
C++ Последние драфты Приветствую. А можно узнать у вас ссылки на последние драфты по C/C++ на данный момент? C99 (N897) — http://open-std.org/JTC1/SC22/WG14/www/docs/n897.pdf C11 (N1548) —... https://www.cyberforum.ru/ cpp/ thread435272.html
Заблокирован
07.02.2012, 12:39  [ТС] 0

шаблонные методы шаблона. Специализация.

07.02.2012, 12:39. Просмотров 4693. Ответов 5
Метки (Все метки)

Ответ

Я компилировал в 2008 студии.
На самом деле я уже нашёл приемлемое решение проблемы. Но все равно интересно - почему, если студия позволяет специализировать шаблонный мембер внутри класса, она никак не хочет делать этого снаружи? Или может быть я просто не знаю, как правильно...

Ну а что касается gcc (онлайн компилятор же он? ) то... надо полагать, либо он не очень хорошо соотносится со стандартом, либо студия в этом отношении, лучше выполняет стандарт (или наоборот, в очередной раз забила болт). Как на самом деле я понятия не имею...

Хотелось бы конечно пролить свет на эту ситуацию.

Если интересно - ниже представленный код, хоть и является суть "обходной путь", но так же имитирует "частичную специализацию мембера"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
struct SEmpty{}; 
 
template<int ID, class tK, class tR> struct TBase     
{ static int Work() { std::cout<<"ID\n";      return 0; } };
 
template<class tK, class tR> struct TBase<0, tK, tR>  
{ static int Work() { std::cout<<"0\n";       return 0; } };
 
template<class tR> struct TBase<0, SEmpty, tR>        
{ static int Work() { std::cout<<"0 empty\n"; return 0; } };
 
template<int ID, class tK, class tR>
class TTest: TBase<ID, tK, tR>
{
public: 
    int Work();
};
template<int ID, class tK, class tR>  
    int TTest<ID, tK,tR>::Work(){ return TBase<ID, tK, tR>::Work(); }
 
int main()
{
    TTest<1, SEmpty, int>test1; test1.Work();  
    TTest<0, int, int>   test2; test2.Work();  
    TTest<0, SEmpty, int>test3; test3.Work();  
}


Вернуться к обсуждению:
шаблонные методы шаблона. Специализация.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2012, 12:39

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Специализация шаблона
Всем доброго вечера! Возникает непонятная ошибка при создании специализации родового класса cl. В...

специализация шаблона
Добрый день! Хотелось бы сделать шаблонную функцию, у которой будет различная реализация в...

Специализация шаблона
Пытаюсь специализировать шаблон для типа float, но не получается. В чем проблема? Компилятор:...

специализация шаблона
начал разбираться с шаблонами. если есть структура, и одна функция именно с int должна работать по...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.