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

Ошибка при реализации класса, использующего шаблоннный тип. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу для вычисления и отображения диапазона http://www.cyberforum.ru/cpp-beginners/thread178594.html
Написать программу для вычисления и отображения диапазона, т.е. наименьшего и наибольшего значения в наборе введенных чисел определенного количества.
C++ Не удается открыть файл include: iostream.h: No such file or directory у ми проблема с файлом, при компилирование выдается такая ошибка fatal error C1083: Не удается открыть файл include: iostream.h: No such file or directory есле, же я берe без h, с библиотеку он видит, но выдает ошибку по функции которая должна выдавать библиотека, в моем случае это выглядит так error C2065: cout: необъявленный идентификатор http://www.cyberforum.ru/cpp-beginners/thread178589.html
C++ Файловая сортировка (не обычно)
привет всем, нужно отсортировать по возрастанию данную конструкцию. В файле так: 23 54 87 95 37 24 48 30 27 89 27 12 ifstream f; int a,b,c; f.open("1.txt"); while(!f.eof()){
C++ std::
Объясните пожалуйста что это за тип? иногда им описывают переменную например std::x, если можно ссылку скиньте с подробным описанием
C++ С клавиатуры вводится две матрицы вычислить: сложение, вычитание, умножение, транспонирование. http://www.cyberforum.ru/cpp-beginners/thread178505.html
Буду благодарен=(( С клавиатуры вводится две матрицы вычислить: сложение, вычитание, умножение, транспонирование. Добавлено через 2 часа 44 минуты аппппппапап
C++ геометрическая прогрессия Составить программу, которая считает члены геометрической прогрессии (N), начальный элемент 2 а квоциент 0,2! Показывает 4 знака после запятой! Делаем на чистом C++ на Borland! N вводит пользыватель... подробнее

Показать сообщение отдельно
DKOI
 Аватар для DKOI
24 / 24 / 1
Регистрация: 08.09.2010
Сообщений: 136
19.10.2010, 18:19     Ошибка при реализации класса, использующего шаблоннный тип.
Пытаюсь реализовать шаблон Strategy

в STR.h пишу

C++
1
2
3
4
5
6
7
8
template<class StrategyType>
class Context
{
public:
    void Operation();
private:
    StrategyType TheStrategy;
};
в STR.cpp

C++
1
2
3
4
void Context::Operation()
{
    TheStrategy.Algoritm();
}
Компилятор выдаёт ошибки:
`template<class StrategyType> class Context' used without template parameters STR.cpp /Strategy/src line 13 C/C++ Problem
`TheStrategy' was not declared in this scope STR.cpp /Strategy/src line 15 C/C++ Problem

Если писать реализацию метода в хэдере, то всё прекрасно работает, но хотелось всю реализацию спихнуть в отдельный файл, а компилятору, видимо, не нравится, что поле не описано в этом файле (ибо замена спецификатора поля на public не даёт результатов). Подскажите, что можно сделать с такой бедой?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru