Прямая инициализация объекта со значением перечислителя, преобразованного в целомC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Прямая инициализация объекта со значением перечислителя, преобразованного в целом

Сообщение Anonymous »

В следующей упрощенной программе я стараюсь создать std :: vector размером с объекта в соответствии со значением перечислителя:

Код: Выделить всё

#include 

enum class E { Count };

int main() {
std::vector vec( size_t( E::Count ) );
}
< /code>
Он отлично работает в GCC, но другие компиляторы жалуются. < /p>

 clang: < /li>
< /ol>
error: parameter declarator cannot be qualified
6 |     std::vector vec( size_t( E::Count ) );
< /code>

 msvc: < /li>
< /ol>
error C2751: 'E::Count': the name of a function parameter cannot be qualified
Онлайн демо: https://gcc.godbolt.org/z/sp3mfpgb9
Какую реализацию здесь правильная?

Подробнее здесь: https://stackoverflow.com/questions/794 ... in-integer
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»