С вектором, определенным как std::vector<std::string>, интересно, почему следующее верно:
if ( vecMetaData[0] != "Some string" )
{
...
Но не это:
switch ( vecMetaData[1] )
{
...
Visual studio жалуется:
ошибка C2450: выражение переключения типа 'std :: basic_string ‹_Elem, _Traits, _Ax>' недопустимо 1> с 1> [1> _Elem = char, 1> _Traits = std :: char_traits, 1> _Ax = std :: распределитель 1>] 1> Нет доступного оператора преобразования, определяемого пользователем, который мог бы выполнить это преобразование, или оператор не может быть вызван