Я пишу небольшой класс, класс в основном представляет собой factory для класса C, но я хочу, чтобы другие классы могли получить доступ к некоторым из методов.
template<class C>
class CFactory {
public:
friend class C;
};
Это должно сделать поля CFactory доступными для класса C, но компилятор думает иначе.
Я получаю следующие две ошибки, используя gcc на mac.
error: использование параметра типа шаблона 'C' после 'класса'
error: объявление друга не называет класс или функцию
Может ли кто-нибудь сказать мне, что я делаю неправильно, и как правильно получить et?