Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
OpenGL OpenGL, трехмерный график http://www.cyberforum.ru/cpp-beginners/thread1497375.html
Начинаю по чуть-чуть изучать программирование , попалась для меня немного странная задачка , нужно вывести график функции z=cos(r)/r , но при этом r=sqrt((x^2)*(y^2)). выдает много ошибок , прошу помощи в их исправление или советов. #include<openGL/gl.h> #include<Glut/glut.h> #include <math.h> #include <stdlib.h> float f(float x, float y , float r , float z) { return...
C++ Крестики-нолики - алгоритм для игры против ПК Смотрю, уже только ленивый не сделал. Собственно это я. Вчера сел, написал свои 200 строк какашкокода для любого поля с любым количеством требуемых чисел для победы по всем направлениям.. С победой пришлось повозиться, но все вышло. Собственно, куда смотреть в отношении алгоритма для игры против ПК? Очевидно, что рандом так себе играет. Пока есть следующий вариант: if Проверить возможность... http://www.cyberforum.ru/cpp-beginners/thread1497338.html
Запись двумерного массива в файл C++
В общем нужно записать двумерный массив в фаил, но что то ни как не получается. //magicQuad.h #ifndef MAGICQUAD_H #define MAGICQUAD_H #include <iostream> using std::cout; using std::endl; class magicQuad {
C++ OpenGL: Вывести значения двух функций
Пытаюсь разобраться с opengl , хотел вывести две функции , но выдает ошибку , подскажите как исправить. #include <iostream> #include<openGL/gl.h> #include<Glut/glut.h> void draw() { glClear(GL_COLOR_BUFFER_BIT); glColor3f(1, 0, 0);
C++ Работа с динамическими символьными массивами и строками переменной длины http://www.cyberforum.ru/cpp-beginners/thread1497312.html
Здравствуйте! НЕ могу решить проблему из-за которой программа летит коту под хвост) Задача программы в том, чтобы по заранее заданным в поле номерам считать файлы с именами схожей конструкции: file1.dat .... file230.dat. То есть при каждой следующей итерации имя файла меняется, с ним производятся действия он закрывается. Поэтому требуется создавать массив имени файла. Проблема в том, что при...
C++ Что такое __pragma(warning()) ? Вот код макроса: #define PTM_WARNING_DISABLE \ __pragma(warning( push )) \ __pragma(warning( disable : 4867 )) Что эти функции делают? И что это за функция __pragma? От ее определение нельзя посмотреть? подробнее

Показать сообщение отдельно
DrOffset
6461 / 3835 / 886
Регистрация: 30.01.2014
Сообщений: 6,630
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
 
Текущее время: 00:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru