title: C++ map template argument is invalid
body: <p>I am trying to create a map for which the value is a class I have defined in another file; namely, <code>FoodItemLookup</code>. However, C++ is giving me the error:</p>
  
  <blockquote>
    <p>template argument 1 is invalid</p>
  </blockquote>
  
  <p>I find this odd, because I'm not using any templates. </p>
  
  <p>I would appreciate it if someone could explain to me what I am doing wrong. I don't think I'm allowed to post all of the code, but here are the snippets in question:</p>
  
  <p>The attempt at making a map:</p>
  
  <pre><code>std::map&lt;string, FoodItemLookup&gt; foodCatalogue;
  </code></pre>
  
  <p>A brief rundown of the FoodItemLookup.h file:</p>
  
  <pre><code>#ifndef FOODITEMLOOKUP
  #define FOODITEMLOOKUP
  
  #include &lt;string&gt;
  
  class FoodItemLookup
  {
    private:
    ...
  
    public:
  
    //constructor
    FoodItemLookup(std::string upc, int shelfLife, std::string name);
  
    //copy constructor
    FoodItemLookup(const FoodItemLookup &amp;other);
  
    //destructor
    ~FoodItemLookup();
  
    ...
  );
  
  #endif
  </code></pre>