I'm trying to compile following code :
#include <iostream>
template<class T> struct Container1;//forward declaration
template<class T> struct Container2;//forward declaration
template<class Container,class Type>
using _Make_Container=typename Container<Type>;
template<class T>
struct Container1
{};
template<class T>
struct Container2
{};
int main()
{
    _Make_Container<Container1,int> a;
}
Which give me some errors:
 expected nested-name-specifier before 'Container'
  using _Make_Container=typename Container<Type>;
                                ^
 error: 'Container' is not a template
It seems OK to me because we send Container1 and int to using Then it becomes :
using _Make_Container=typename Container1<int>;
//then 
Container1<int> a;
I can't understand the reason for that errors !! Any idea?
Is there any way for making that works ?
 
     
     
     
    