title: What will return if no map element found?
body: <p>My C++ header has some code snippets like the following:</p>
  
  <pre><code>private:
      std::map&lt;std::string, std::vector&lt;std::vector&lt;unsigned short&gt; &gt; &gt; m_usIRDataPool;
  
  public:
      std::vector&lt;std::vector&lt;unsigned short&gt; &gt;&amp; IRChannelData(std::string sChannelName);
  </code></pre>
  
  <p>In its implementation file (.cpp), <code>IRChannelData()</code> has the following definition:</p>
  
  <pre><code>std::vector&lt;std::vector&lt;unsigned short&gt; &gt;&amp; MyClass::IRChannelData(std::string sChannelName)
  {   
      std::map&lt;std::string, std::vector&lt;std::vector&lt;unsigned short&gt; &gt; &gt;::iterator it = m_usIRDataPool.find( sChannelName );
  
      if ( it != m_usIRDataPool.end() )
      {  
         return it-&gt;second;
      }
  
    //  return ????; // How can I return?
  }
  </code></pre>
  
  <p>So, what will return if no entry is found (vector of vector) in the <code>m_usIRDataPool</code> map container to get rid of </p>
  
  <pre><code>warning C4715: 'MyClass::IRChannelData' : not all control paths return a value.
  </code></pre>