title: Strings in C Header Files
body: <p>My header file is as follows:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;string&gt;
  #include &lt;windows.h&gt;
  #include &lt;math.h&gt;
  
  //using namespace std;
  
  std::string StringMultiply(string Str, int Mult)
  {
      std::string Return;
  
      for (int Index = 0; Index &lt;= Mult; Index++)
      {
          Return += Str;
      }
  
      return Return;
  }
  </code></pre>
  
  <p>Compiling it produces a slew of errors, most of them pertaining to the absence of a <code>string</code> datatype.  Uncommenting the <code>using namespace std;</code> line fixes it, but I've been told this is bad practice in header files.</p>