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

Ошибки: 1) use of class template requires template argument list 2) 'T' : undeclared identifier - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как использовать наследников от стандартных классов? Например, CMyEdit? http://www.cyberforum.ru/cpp-beginners/thread475986.html
Я начал изучать MFC. Программа - простой диалог со строкой ввода. Диалог со строкой ввода нарисовал как ресурс. Мне нужно в clipboard засунуть преобразованный в верхний регистр текст из строки ввода....
C++ Как и где описать глобальную переменную? Как и где описать глобальную переменную? В главном класее я определяю указутель на CDaoDatabase CDaoDatabase* DBase; DBase = new CDaoDatabase(); DBase->Open('склад.mdb');Затем в остальных классах... http://www.cyberforum.ru/cpp-beginners/thread475976.html
C++ При попытке сделать reverse engeneering проекта, который использует STL классы, анализер ругается
Господа, возникла сложность с использованием сабжевой программы и STL. Есть ощущение что он просто не в курсе про то что такая библиотека есть. Например, при попытке сделать reverse engeneering...
C++ Как преобразовать long 12345 в CString "12345"?
Как преобразовать long 12345 в CString '12345' ? Например: int a = 12345; CString b = 'Число: '; CString c;Нужно: c = a + b; (c = 'Число: 12345') Что-то типа этого.
C++ Как грамотно прервать рабочий поток, чтобы главный поток был поставлен об этом в известность незамедлительно? http://www.cyberforum.ru/cpp-beginners/thread475950.html
Не подскажете, как решить стандартную проблему: есть MFC-приложение, из него создается рабочий поток, который время от времени шлет сообщения (SendMessage) главному потоку. Как грамотно прервать...
C++ Утечки памяти при работе с STL Вот проблема: у меня есть обычная Win32 DLL, в которой есть глобальные НЕэкспортируемые STL-объекты (например, std::string Problem). Компилю эту dll с ключом /MDd. Далее, у меня есть клиентское... подробнее

Показать сообщение отдельно
palva
2772 / 1998 / 317
Регистрация: 08.06.2007
Сообщений: 7,341
Записей в блоге: 4
16.05.2009, 15:45
После friend class вы должны указать имя класса, но c2 это не имя класса, это имя шаблона. А в качестве имени класса нужно использовать c2<...> Далее, если вы в описании класса упоминаете другой класс, то он должен быть либо определен ранее в тексте модуля, либо описан как класс. Если пойти по второму пути, то перед определением шаблона класса c1 нужно вставить
Код
template<class T, class T2>
class c2;
Теперь уже можно внутри определения шаблона класса c1 написать
Код
friend class c2<T, T2>;
Если параметры шаблона с2 отсутствуют среди параметров основного шаблона, то надо приписать слово class, например:
Код
friend class c2<class Q, class Q2>;
Но можно опять-таки описать классы Q и Q2 предварительно перед началом шаблона c1:
Код
class Q;
class Q2;
Тогда в шаблоне можно написать короче:
Код
friend class c2<Q, Q2>;
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.