title: Understanding a "Undefined symbols for architecture" error
body: <p>Ok, I'm new to c++ so I'm trying to understand what information I can get from the error message.</p>
  
  <p>Here is the error message</p>
  
  <pre>
  Undefined symbols for architecture x86_64:
    "PieceClothing::PieceClothing(int)", referenced from:
        ClothesInventory::getPieceOfClothing(long)   in ClothesInventory.o
        ClothesInventory::insertIntocloset(std::basic_string, std::allocator >)in ClothesInventory.o
    "PieceClothing::PieceClothing()", referenced from:
        ClothesInventory::ClothesInventory()in ClothesInventory.o
        ClothesInventory::ClothesInventory(std::basic_string, std::allocator >)in ClothesInventory.o
        std::map, std::allocator > >::operator[](long const&)in ClothesInventory.o
  ld: symbol(s) not found for architecture x86_64
  collect2: ld returned 1 exit status
  </pre>
  
  <p>Here is what I understand:<br>
  - There are two errors;<br>
  - One that has to do with getPieceOfClothing and insertIntocloset;<br>
  - Other in the the constructors maybe about a map and/or iterator I have there.</p>
  
  <p>Just to clarify, I'm not attaching the code because the point of the question is to understand all the information I can get just from the message.</p>
  
  <p>Thanks for any help.</p>