использование ключевого слова приводит к ошибке при прямом объявлении специализированного шаблона - PullRequest
0 голосов
/ 20 ноября 2019

скажем, у меня есть класс А., который шаблонизируется в некотором пространстве имен NameSpaceA.

Я хочу использовать предварительное объявление в каком-то другом заголовочном файле. Я могу добиться этого, используя следующий синтаксис

File 1.h

namespace NameSpaceA
{
    template <typename T>
    class A
    {
    public:
        void foo();
    }
}

код, который работает для меня

File 2.h

//forward declaration
namespace NameSpaceA
{
    template <typename T>
    class A;
}

class B
{
private:
    vector<NameSpaceA::A<specialization>* > mABC;
}

, но я хочу закодировать его с помощью используя ключевое слово .

Я попробовал следующий синтаксис

( код, который не работает )

File 2.h
//forward declaration
namespace NameSpaceA
{
    template <typename T>
    class A;
}

using A = typename NameSpaceA::A<specialization>;

class B
{
private:
    vector<A>* > mABC;
}

, но ошибки объявления вектора с аргументом шаблона сообщения1 недействительно . Может кто-нибудь, пожалуйста, помогите мне написать этот элегантный способ.

...