С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Специализация метода темплейтного класса вложенного в темплейтный класс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Крестики-нолики - алгоритм для игры против ПК http://www.cyberforum.ru/cpp-beginners/thread1497338.html
Смотрю, уже только ленивый не сделал. Собственно это я. Вчера сел, написал свои 200 строк какашкокода для любого поля с любым количеством требуемых чисел для победы по всем направлениям.. С победой...
C++ Запись двумерного массива в файл В общем нужно записать двумерный массив в фаил, но что то ни как не получается. //magicQuad.h #ifndef MAGICQUAD_H #define MAGICQUAD_H #include <iostream> using std::cout; using std::endl;... http://www.cyberforum.ru/cpp-beginners/thread1497325.html
C++ OpenGL: Вывести значения двух функций
Пытаюсь разобраться с opengl , хотел вывести две функции , но выдает ошибку , подскажите как исправить. #include <iostream> #include<openGL/gl.h> #include<Glut/glut.h> void draw() { ...
C++ Работа с динамическими символьными массивами и строками переменной длины
Здравствуйте! НЕ могу решить проблему из-за которой программа летит коту под хвост) Задача программы в том, чтобы по заранее заданным в поле номерам считать файлы с именами схожей конструкции:...
C++ Что такое __pragma(warning()) ? http://www.cyberforum.ru/cpp-beginners/thread1497307.html
Вот код макроса: #define PTM_WARNING_DISABLE \ __pragma(warning( push )) \ __pragma(warning( disable : 4867 )) Что эти функции делают? И что это за функция __pragma? От ее определение нельзя...
C++ Комбинаторика. Вывести все слова, которые можно составить из данных букв Всем привет. Вобщем. Есть такая игра, в которой дают 4 картинки, которые можно описать одним словом, длину этого слова и набор букв из которых должно быть составленно слово. Задание: Вывести... подробнее

Показать сообщение отдельно
DrOffset
7377 / 4454 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
12.07.2015, 03:38
Цитата Сообщение от Vlad1slav Посмотреть сообщение
Как оказалось, специализировать класс B можно только в случае полной специализации класса А.
Можно выкрутиться и специализировать класс B частично, тогда все будет в рамках стандарта.
Для этого надо добавить один фиктивный параметр по умолчанию:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
template <typename T1>
class A
{
public:
  A() {}
  
  template <bool T2, typename = void>
  class B;
 
  template <typename Dummy>
  class B<true, Dummy>
  {
  public:
      void f() { /* Do smg */ }
  };
 
  template <typename Dummy>
  class B<false, Dummy>
  {
  public:
      void f() { /* Do smg else */ }
  };
};
http://rextester.com/COG21607
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.