SampleObject<int>* example = new SampleObject<int>::aMethod();
Это может быть правильно сформировано, только если aMethod
является псевдонимом типа элемента SampleObject
с именами SampleObject
или другим типом, указатель которого может быть преобразован посредством наследования. Например, вот так:
template<class T>
struct SampleObject{
using aMethod = SampleObject;
};
Может ли кто-нибудь мне это объяснить?
Это не имеет особого смысла; по крайней мере, не без контекста.