пожалуйста, рассмотрите следующий пример:
template <int N, int M>
class MyClass {
private:
void myFunc(void);
public:
void callMe(void);
};
Мне нужно объявить универсальный указатель на объекты этого класса.Компилятор отклоняет следующее утверждение.Что я делаю неправильно?Спасибо за помощь.
extern template<int N, int M> MyClass<N, M> *obj;
Почему я это делаю?Мне нужно написать функцию, которая может работать с универсальным экземпляром объектов из этого класса, пожалуйста, посмотрите пример:
inline template <int N, int M> void MyClass<N,M>::MyFunc(void) { obj = this; };
Это поведение, которое я хочу, если это возможно.Обратите внимание, что он отлично работает с типами без шаблонов.
void ThisIsAnotherFunction(void) {
obj->callMe();
}