title: forward declaration of using in c++11
body: <p>I'm trying to use a type alias of an object in another header without including header file .</p>
  
  <p>My simplified version of code is :</p>
  
  <pre><code>// A.h
      #include &lt;vector&gt;
      using Vector=std::vector&lt;int&gt;;
  
  ====================================================
  
  //B.h
  using Vector;//forward declaration but not working !(Vector has not beed declared)
  int foo(Vector*);
  
  ====================================================
  //B.cpp
  #include "A.h"
  void foo(Vector*){}
  </code></pre>
  
  <p>I don't want to write <code>using Vector=std::vector&lt;int&gt;;</code> again in <code>B.h</code> because It's definition must be same as definition of <code>Vector</code> in <code>A.h</code> and It may change in <strong>future</strong> and I can't include it because my code have <strong>circular dependency</strong>.</p>
  
  <p>Is forward declaration of <code>using</code> possible in c++11 ?</p>