Weird headers c++ : <p>On <code>A.h</code> i do not have to <code>#include</code> anything or use namespace for anything. </p>

<p>On the other header, <code>B.h</code> i have to include <code>vector</code> and <code>using namespace std</code>. Both of this headers are not linked. Seems to be a file problem. When i copy the contents of <code>A.h</code> (without any problems) to <code>B.h</code>, i still get a compiler error saying <code>string</code> is not a type name and <code>vector</code> is not a template although the compiler did not state anything when the same content was on <code>A.h</code>. I am coding c++ on visual studio. What is going on?</p>
