Почему компиляторы обрабатывают по-разному тип в скобках, за которым следует список инициализаторов в C++?C++

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

Сообщение Anonymous »

Почему код, приведенный ниже, отлично компилируется с CLang и не компилируется с MSVC?

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

#include 

const char * NumberToText(int val)
{
return (const char *[]) {
"Zero",
"One",
"Two",
}[val];
}

int main()
{
std::cout 
В ошибке C4576 на предприятии VS2015 я вижу некоторые предположения, что это связано с тем, что это функция языка C и она неправильно сформирована в C++, но почему тогда CLang компилирует это? >
Могу ли я сохранить анонимность массива и при этом получить тот же результат в MSVC C++? 

Подробнее здесь: [url]https://stackoverflow.com/questions/79128505/why-compilers-treat-differently-parenthesized-type-followed-by-an-initializer-li[/url]
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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