title: What should dequeue return if the queue is empty
body: <p>I am writing a queue in C++ (I'm not supposed to use the STL). My dequeue function needs to return the integer it removes from my queue. However, if the queue is empty what should it return?  Should I throw an exception and if so which one? Or should I return null (but couldn't that be confusing because that is essentially zero and make it look like I'm returning 0)?  </p>
  
  <p>Any help would be greatly appreciated.</p>