Мой заголовок C ++ содержит несколько фрагментов кода, например:
private:
std::map<std::string, std::vector<std::vector<unsigned short> > > m_usIRDataPool;
public:
std::vector<std::vector<unsigned short> >& IRChannelData(std::string sChannelName);
В своем файле реализации (.cpp) IRChannelData()
имеет следующее определение:
std::vector<std::vector<unsigned short> >& MyClass::IRChannelData(std::string sChannelName)
{
std::map<std::string, std::vector<std::vector<unsigned short> > >::iterator it = m_usIRDataPool.find( sChannelName );
if ( it != m_usIRDataPool.end() )
{
return it->second;
}
// return ????; // How can I return?
}
Итак, что будет возвращаться, если в контейнере карты m_usIRDataPool
не найдена запись (вектор вектора), чтобы избавиться от
warning C4715: 'MyClass::IRChannelData' : not all control paths return a value.