Что происходит с unique_ptr после std :: move ()?

Вы не можете объявить переменную в начале оператора case. Сделайте тестовый пример, который просто состоит из этого, и вы получите ту же ошибку.

Это не связано с объявлением переменных в середине блока - даже при принятии стандарта, который позволяет не заставит GCC принять декларацию в начале описания дела. Похоже, что GCC рассматривает метку case как часть строки и, таким образом, не позволяет там указывать.

Простым обходным решением является просто положить точку с запятой в начале дела, чтобы объявление не было в начале.

23
задан user3496846 17 March 2016 в 20:37
поделиться