Требуется объявление c ошибка

Error: требуется объявление C++ Решение и ответ на вопрос 1570907

avanesh

0 / 0 / 0

Регистрация: 31.10.2013

Сообщений: 84

1

04.11.2015, 11:33. Показов 108972. Ответов 2

Метки нет (Все метки)


Здравствуйте. Начал читать учебник Шилдта, дошел до примера функции, возвращающей некое значение. Переписал пример в VS и компилятор выдает ошибку.

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int mul(int x, int y);
int main()
{
    int answer;
    answer = mul(10,11);
    cout << answer << endl;
    return 0;
}
 
 
int mul(int x, int y);
{
    return x * y;
}

Ошибка на 17 строчке, при наведении на фигурную скобку.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



154 / 141 / 62

Регистрация: 08.09.2014

Сообщений: 1,220

04.11.2015, 11:45

2

Потому что в строке 16 в конце убери ;



2



0 / 0 / 0

Регистрация: 13.05.2020

Сообщений: 1

23.12.2020, 21:35

3

убери ; в конце 16 строка потому что это функция как main()



0



[ «неизвестная ошибка«, «последняя строка файла завершается без знака новой строки«, «последняя строка файла завершается знаком обратной косой черты«, «включаемый файл %sq включает самого себя«, «недостаточно памяти«, null, «незакрытый комментарий в конце файла«, «нераспознанная лексема«, «отсутствует закрывающая скобка«, «вложенный комментарий не разрешен«, «знак «#« здесь не предполагается«, «нераспознанная директива препроцессора«, «повторное начало синтаксического анализа после предыдущей ошибки«, «требуется имя файла«, «лишний текст после предполагаемого конца директивы препроцессора«, null, null, «требуется квадратная скобка «]««, «требуется круглая скобка «)««, «лишний текст после предполагаемого конца числа«, «идентификатор %sq не определен«, «Квалификаторы типа не имеют смысла в этом объявлении.«, «недопустимое шестнадцатеричное число«, «слишком большая целочисленная константа«, «недопустимая восьмеричная цифра«, «строка в кавычках должна содержать по крайней мере один символ«, «слишком много знаков в символьной константе«, «символьное значение выходит за пределы допустимого диапазона«, «выражение должно иметь константное значение«, «требуется выражение«, «константа с плавающей точкой выходит за пределы допустимого диапазона«, «выражение должно иметь интегральный тип«, «выражение должно иметь арифметический тип«, «требуется номер строки«, «недопустимый номер строки«, «директива #error: %s«, «отсутствует #if для этой директивы«, «отсутствует #endif для этой директивы«, «недопустимая директива — повторяющийся #else«, «деление на ноль«, «требуется идентификатор«, «выражение должно иметь арифметический тип или тип указателя«, «несовместимые типы операндов (%t1 и %t2)«, null, «выражение должно иметь тип указателя«, «#undef не может использоваться с этим предопределенным именем«, «%no предопределено; попытка переопределения игнорируется«, «несовместимое переопределение макроопределения %nod«, null, «повторяющееся имя параметра макроопределения«, «знаки «##« не могут быть первыми в макроопределении«, «знаки «##« не могут быть последними в макроопределении«, «требуется имя параметра макроопределения«, «требуется двоеточие «:««, «слишком мало аргументов в вызове %n«, «слишком много аргументов в вызове %n«, «операнд sizeof не может быть функцией«, «недопустимый оператор в константном выражении«, «недопустимый оператор в выражении предварительной обработки«, «недопустимый вызов функции в константном выражении«, «недопустимый оператор в целом константном выражении«, «результат целочисленной операции лежит вне допустимого диапазона«, «отрицательное смещение«, «слишком большое смещение«, «объявление не содержит объявление какого-либо элемента«, «требуется точка с запятой «;««, «значение перечисления выходит за пределы диапазона int«, «требуется фигурная скобка «}««, «целочисленное преобразование привело к смене знака«, «целочисленное преобразование привело к усечению«, «недопустимый неполный тип«, «операнд sizeof не может быть полем«, null, null, null, «операнд «*« должен быть указателем, но имеет тип %t«, «пустой аргумент макроса«, «это объявление не содержит класс хранения или спецификатор типа«, «объявление параметра не может содержать инициализатор«, «требуется спецификатор типа«, «здесь нельзя указать класс хранения«, «Объявление более одного класса хранения недопустимо.«, «класс хранения не является первым«, «квалификатор типа указан более одного раза«, «недопустимое сочетание спецификаторов типа«, «недопустимый класс хранения для параметра«, «недопустимый класс хранения для функции«, «использование спецификатора типа не допускается«, «использование массива функций не допускается«, «использование массива типа void не допускается«, «использование функции, возвращающей функцию, не допускается«, «использование функции, возвращающей массив, не допускается«, «параметры списка идентификаторов можно использовать только в определении функции«, «не допускается использование типа функции из определения типа«, «размер массива должен быть больше нуля«, «размер массива превышает допустимый«, «Единица трансляции должна содержать как минимум одно объявление.«, «функция не может возвращать значение этого типа«, «массив не может содержать элементы этого типа«, «здесь необходимо использовать объявление параметра«, «повторяющееся имя параметра«, «%sq уже объявлено в текущей области«, «нестандартное опережающее объявление перечисляемого типа«, «слишком большой класс«, «слишком большая структура или объединение«, «недопустимый размер для битового поля«, «недопустимый тип для битового поля«, «битовое поле нулевой длины должно быть неименованным«, «битовое поле со знаком длиной 1«, «выражение перед скобками вероятного вызова должно иметь тип функции (pointer-to-)«, «требуется определение или имя тега«, «недостижимый оператор«, «требуется «while««, null, «ссылка на неопределенный параметр %n«, «оператор continue можно использовать только внутри цикла«, «оператор break можно использовать только внутри цикла или выражения для выбора вариантов«, «функция %n, не являющаяся void, должна возвращать значение«, «функция void не может возвращать значение«, «приведение к типу %t не допускается«, «тип возвращаемого значения не соответствует типу функции«, «метку case можно использовать только в выражении для выбора вариантов«, «метку default можно использовать только в выражении для выбора вариантов«, null, «метка default уже используется в этом выражении для выбора вариантов«, «требуется круглая скобка «(««, «выражение должно быть левосторонним значением«, «требуется оператор«, «недостижимый цикл«, «функция с областью видимости в пределах блока может содержать только внешний класс хранения«, «требуется фигурная скобка «{««, «выражение должно иметь тип указателя на класс, но имеет тип %t«, «выражение должно иметь тип указателя на структуру или объединение, но имеет тип %t«, «требуется имя члена«, «требуется имя поля«, «%n не содержит члена %sq«, «%n не содержит поля %sq«, «выражение должно быть допустимым для изменения левосторонним значением«, «получение адреса регистровой переменной не допускается«, «получение адреса битового поля не допускается«, «слишком много аргументов в вызове функции«, «при наличии тела не допускается использование неименованных параметров с прототипом«, «выражение должно иметь тип указателя на объект, но имеет тип %t«, «слишком большая или сложная для компиляции программа«, «значение типа %t1 нельзя использовать для инициализации сущности типа %t2«, «%n не может быть инициализировано«, «слишком много значений инициализатора«, «объявление несовместимо с %nfd«, «%n — уже было инициализировано«, «объявление с глобальной областью видимости не может содержать этот класс хранения«, «имя типа не может быть повторно объявлено как параметр«, «определение типа не может быть повторно объявлено как параметр«, «преобразование ненулевого целочисленного значения в указатель«, «выражение должно иметь тип класса, но имеет тип %t«, «выражение должно иметь тип структуры или объединения, но имеет тип %t«, «устаревший оператор назначения«, «устаревший инициализатор«, «необходимо использовать целое константное выражение«, «Выражение должно быть lvalue или указателем функции.«, «объявление несовместимо с предыдущим %nod«, «внешнее имя конфликтует с внешним именем %nd«, «нераспознанная директива #pragma«, null, «не удалось открыть временный файл %sq: %s2«, «слишком длинное имя каталога временных файлов (%sq)«, «слишком мало аргументов в вызове функции«, «недопустимая константа с плавающей запятой«, «аргумент типа %t1 несовместим с параметром типа %t2«, «использование типа функции не допускается«, «требуется объявление«, «указатель указывает на элемент вне базового объекта«, «недопустимое преобразование типа«, «конфликт внешнего или внутреннего связывания с предыдущим объявлением %p«, «значение с плавающей запятой не помещается в необходимом целом типе«, «выражение не имеет силы«, «индекс вне диапазона«, null, «отсутствует ссылка на объявленный параметр %n«, «применение «&« к массиву не дало результата«, «правый оператор %% равен нулю«, «аргумент несовместим с формальным параметром«, «аргумент несовместим с соответствующим преобразованием строки формата (ожидаемый тип %t1, но аргумент имеет тип %t2)«, «не удалось открыть исходный файл %sq (отсутствуют каталоги в списке поиска)«, «тип приведения должен быть целочисленным«, «тип приведения должен быть арифметическим или указателем«, «динамическая инициализация в недостижимом коде«, «нецелесообразное сравнение целого числа без знака с нулем«, «возможно, оператор «=« используется там, где предполагается оператор «==««, «смешанное использование перечисляемого типа с другим типом«, «ошибка при записи в файл %s«, «недопустимый файл промежуточного языка«, «бессмысленный квалификатор типа для типа приведения«, «нераспознанная управляющая последовательность«, «используется нулевое значение для неопределенного идентификатора предварительной обработки %sq«, «требуется строка ассемблерного кода«, «функция ассемблерного кода должна иметь прототип«, «функция ассемблерного кода не должна содержать многоточие«, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, «ошибка при удалении файла %sq: %s2«, «целочисленное значение не помещается в необходимом типе с плавающей запятой«, «значение с плавающей запятой не помещается в необходимом типе с плавающей запятой«, «результат операции с плавающей запятой лежит вне допустимого диапазона«, «функция %sq объявлена неявно«, «требуются дополнительные аргументы для строки формата«, «строка формата завершается до этого аргумента«, «недопустимое преобразование строки формата«, «рекурсивный вызов макроса«, «нестандартная завершающая запятая«, «битовое поле не может содержать все значения перечисляемого типа«, «нестандартный тип битового поля«, «объявление невидимо вне функции«, «устаревшее определение типа void пропущено«, «левый операнд не является структурой или объединением, содержащими это поле«, «указатель не указывает на структуру или объединение, содержащие это поле«, «переменная %sq объявлена с незавершенным типом«, «управляющее выражение является константой«, «выражение селектора является константой«, «недопустимый спецификатор для параметра«, «недопустимый спецификатор вне объявления класса«, «повторяющийся спецификатор в объявлении«, «объединение не может иметь базовый класс«, «использование нескольких спецификаторов доступа не допускается«, «отсутствует определение класса или структуры«, «полное имя не является членом класса %t или его базовых классов«, «нестатическая ссылка не член должна указываться относительно заданного объекта«, «нестатический элемент данных не может быть определен вне соответствующего класса«, «%n — уже было определено«, «использование указателя на ссылку не допускается«, «использование ссылки на ссылку не допускается«, «использование ссылки на тип void не допускается«, «использование массива ссылок не допускается«, «для ссылки %n требуется инициализатор«, «требуется «,««, «использование имени типа не допускается«, «использование определения типа не допускается«, «недопустимое повторное объявление имени типа %nod«, «для константы %n требуется инициализатор«, «оператор «this« можно использовать только внутри нестатической функции-члена«, «неизвестное значение константы«, «отсутствует явный тип (требуется «int«)«, «не определены параметры управления доступом (по умолчанию %sq)«, «не является именем класса или структуры«, «повторяющееся имя базового класса«, «недопустимый базовый класс«, «%nd недоступно«, «%no не является однозначным«, «список параметров старого стиля (устаревший элемент)«, «объявление не может использоваться после исполняемого выражения в блоке«, «не допускается преобразование в недоступный базовый класс %t«, null, null, null, null, «вызов макроса завершен неправильно«, null, «имя, за которым следует выражение «::«, должно определять класс или пространство имен«, «Недопустимое дружественное объявление«, «конструктор или деструктор не может возвращать значение«, «недопустимое объявление деструктора«, «объявление члена с таким же именем, что и его класс«, «использование квалификатора с глобальной областью видимости (начальное выражение «::«) не допускается«, «глобальная область видимости не содержит %sq«, «использование полного имени не допускается«, «использование пустой ссылки не допускается«, «инициализация объектов типа %t с помощью выражения {…} не допускается«, «базовый класс %t не является однозначным«, «производный класс %t1 содержит более одного экземпляра класса %t2«, «не удается преобразовать указатель на базовый класс %t2 в указатель на производный класс %t1, поскольку базовый класс является виртуальным«, «отсутствуют экземпляры конструктора %no, соответствующие списку аргументов«, «конструктор копий класса %t не является однозначным«, «для класса %t не существует конструктор по умолчанию«, «%sq не является нестатическим элементом данных или базовым классом для класса %t«, «использование косвенного невиртуального базового класса не допускается«, «недопустимый член объединения — класс %t содержит запрещенную функцию-член«, null, «недопустимое использование массива не с левосторонними значениями«, «требуется оператор«, «использование унаследованных членов не допускается«, «не удается определить экземпляр %n, использование которого предполагается«, «указатель на привязанную функцию можно использовать только для вызова функции«, «имя определения типа уже объявлено с тем же типом«, «%n — уже было определено«, null, «отсутствуют экземпляры %n, соответствующие списку аргументов«, «использование определения типа в объявлении возвращаемого типа функции не допускается«, «аргумент по умолчанию указан не в конце списка параметров«, «повторное определение аргумента по умолчанию«, «существует более одного экземпляра %n, соответствующего списку аргументов:«, «существует более одного экземпляра конструктора %no, соответствующего списку аргументов:«, «аргумент по умолчанию типа %t1 несовместим с параметром типа %t2«, «не удается перегрузить функции, различаемые только по типу возвращаемого значения«, «не существует подходящего определяемого пользователем преобразования из %t1 в %t2«, null, «виртуальными могут быть только нестатические функции-члены«, «Объект содержит квалификаторы типа, несовместимые с функцией-членом.«, «слишком большая программа для компиляции (слишком много виртуальных функций)«, «возвращаемый тип ни идентичен, ни ковариантен возвращаемому типу %t переопределенной виртуальной функции %no«, «переопределение виртуальной функции %n не является однозначным«, «чистый спецификатор («= 0«) допускается использовать только для виртуальных функций«, «некорректный чистый спецификатор (допускается использовать только спецификатор «= 0«)«, «использование инициализатора элемента данных не допускается«, «использование объекта абстрактного типа класса %t не допускается:«, «использование функции, возвращающей абстрактный класс %t, не допускается:«, «повторяющееся дружественное объявление«, «встроенный спецификатор можно использовать только в объявлениях функций«, «использование ключевого слова «inline« не допускается«, «недопустимый класс хранения для встроенной функции«, «недопустимый класс хранения для члена класса«, «требуется определение члена локального класса %n«, «%nfd недоступно«, null, «класс %t не содержит конструктор копий для копирования объекта константы«, «определение неявно объявленной функции-члена не допускается«, «класс %t не содержит подходящий конструктор копий«, «спецификация связывания не допускается«, «неизвестная внешняя спецификация связывания«, «спецификация связывания несовместима с предыдущей %nod«, «несколько экземпляров перегруженной функции %no содержат C-связывание«, «класс %t содержит более одного конструктора по умолчанию«, «значение скопировано во временную память, используется ссылка на временную память«, «функция «operator%s« должна быть функцией-членом«, «оператор не может быть статической функцией-членом«, «использование аргументов в определяемом пользователем преобразовании не допускается«, «слишком много параметров для этой функции оператора«, «слишком мало параметров для этой функции оператора«, «оператору, не являющемуся членом, требуется параметр с типом класса«, «использование аргумента по умолчанию не допускается«, «применяется несколько определяемых пользователем преобразований из %t1 в %t2:«, «отсутствует оператор %sq, соответствующий этим операндам«, «существует несколько операторов %sq, соответствующих этим операндам:«, «первый параметр функции выделения должен иметь тип «size_t««, «функции выделения требуется тип возвращаемого значения «void *««, «функции освобождения требуется тип возвращаемого значения «void««, «первый параметр функции освобождения должен иметь тип «void *««, null, «необходимо использовать тип объекта«, «базовый класс %t инициализирован«, «требуется имя базового класса — предполагается %t (устаревший элемент)«, «%n — уже было инициализировано«, «отсутствует имя члена или базового класса«, «назначение оператору «this« (устаревший элемент)«, «используется ключевое слово «overload« (устаревший элемент)«, «недопустимое анонимное объединение — использование не являющегося общим члена не допускается«, «недопустимое анонимное объединение — использование не являющегося общим члена не допускается«, «анонимное объединение в глобальной области видимости или области видимости пространства имен необходимо объявлять как статическое«, «%nf не предоставляет инициализатор для:«, «не удается использовать неявно созданный конструктор для класса %t для инициализации:«, «%n не определяет конструктор для инициализации следующих объектов:«, «%n содержит неинициализированные константу или ссылочный член«, «%n содержит неинициализированное поле константы«, «класс %t не содержит оператор назначения для копирования объекта константы«, «класс %t не содержит подходящего оператора назначения«, «неоднозначный оператор назначения %t«, null, «для объявления требуется имя определения типа«, null, «использование ключевого слова «virtual« не допускается«, «использование ключевого слова «static« не допускается«, «приведение привязанной функции к указателю на нормальную функцию (устаревший элемент)«, «Выражение должно иметь тип указателя на элемент.«, «лишний символ «;« пропущен«, «нестандартный внутриклассовый инициализатор для нестатического члена«, null, «отсутствуют экземпляры перегруженной функции %no, соответствующие списку аргументов«, null, «отсутствуют экземпляры %n, соответствующие необходимому типу«, «используется выражение, указывающее размер удаляемого массива (устаревший элемент)«, null, «приведение к абстрактному классу %t не допускается:«, «не удается вызвать функцию «main« или получить ее адрес«, «невозможно указать новый инициализатор для массива«, «функция-член %no не может быть повторно объявлена вне соответствующего класса«, «использование указателя на неполный тип класса %t не допускается«, «использование ссылок на локальные переменные включающей функции не допускается«, «используется постфиксная форма функции с одним аргументом %sq (устаревший элемент)«, null, «не удается скопировать с помощью неявно создаваемого оператора назначения:«, «нестандартное приведение к типу массива (обрабатывается как приведение к %t)«, «%n содержит оператор new%s(), однако не содержит определенный по умолчанию оператор delete%s()«, «%n содержит оператор delete%s(), однако не содержит оператор new%s()«, «деструктор базового класса %nod не является виртуальным«, null, «недопустимое повторное объявление члена %npd«, «не допускается встроенное объявление функции «main««, «функция-член, имя которой совпадает с именем ее класса, должна быть конструктором«, «используется вложенный %n (устаревший элемент)«, «деструктор не может иметь параметры«, «конструктор копий для класса %t не может иметь параметр типа %t«, «%n возвращает неполный тип %t«, «не удается получить доступ к защищенному %nd с помощью указателя %t на объект«, «недопустимый параметр«, «недопустимое объявления «asm««, «не существует подходящей функции преобразования из %t1 в %t2«, «удаление указателя на неполный класс«, «не существует подходящего конструктора для преобразования из %t1 в %t2«, «применяется несколько конструкторов для преобразования из %t1 в %t2:«, «применяется несколько функций преобразования из %t1 в %t2:«, «применяется несколько функций преобразования из %t во встроенный тип:«, «константа %n«, «ссылка %n«, «%npTd«, «встроенный оператор %sq«, «%nod, неоднозначный по наследованию«, «получение адреса конструктора или деструктора не допускается«, null, «временно используется в качестве начального значения для ссылки на неконстантный параметр (устаревший элемент)«, «использование полного имени в объявлении члена не допускается«, «смешанное использование перечисляемого типа с другим типом (устаревший элемент)«, «размер массива в операторе «new« не может быть отрицательным«, «возвращение ссылки на локальную временную память«, null, «использование перечисления «enum« не допускается«, «отброшены квалификаторы в ссылке, привязывающей тип %t1 к инициализатору типа %t2«, «не удается инициализировать ссылку типа %t1 (квалифицируется как неконстантная) со значением типа %t2«, «удаление указателя на функцию не допускается«, «функция преобразования должна быть нестатической функцией-членом«, «объявление шаблона здесь не разрешено«, «требуется угловая скобка «<««, «требуется угловая скобка «>««, «отсутствует объявление параметра шаблона«, «отсутствует список аргументов для %nf«, «недостаточно аргументов для %nf«, «лишние аргументы для %nf«, null, «%n1 не используется в объявлении типов параметров %n2«, «два вложенных типа имеют одинаковые имена: %no1 и %nod2 (совместимость cfront)«, «глобальный параметр %no1 был объявлен после вложенного %nod2 (совместимость cfront)«, null, «существует более одного экземпляра %n, соответствующего требуемому типу«, «нестандартный тип «long long««, «нестандартное упущение %sq«, «не допускается указание типа возвращаемого значения для функции преобразования«, «обнаружено в ходе:«, «создание экземпляра %nt %p«, «неявное создание %nt %p«, «избыточное число рекурсивных вызовов при создании экземпляра %n«, «%sq не является функцией или статическим элементом данных«, «аргумент типа %t1 несовместим с параметром шаблона типа %t2«, «не допускается выполнение инициализации, требующей временной памяти или преобразования«, «объявление %sq скрывает параметр функции«, «начальное значение ссылки на неконстантный параметр должно быть левосторонним значением«, «неявное определение %nt %p«, «использование ключевого слова «template« не допускается«, «%t не является шаблоном класса«, null, «имя «main« не является допустимым именем шаблона функции«, «недопустимая ссылка на %n (несовпадение объединения и не объединения)«, «аргумент шаблона не может ссылаться на локальный тип«, «вид тега %s несовместим с объявлением %nfd«, «глобальная область видимости не содержит тег с именем %sq«, «%n не содержит тег с именем %sq«, «определение типа функции-члена (допускается для обеспечения совместимости cfront)«, «%n может использоваться только в объявлении указателя на элемент.«, null, «аргумент шаблона не может ссылаться на не являющуюся внешней сущность«, «имя, за которым следует выражение «::~«, должно определять класс или тип«, null, «тип, используемый в качестве имени деструктора, не соответствует типу %t«, «%n повторно объявлен как встроенный после вызова«, null, «недопустимый класс хранения для объявления шаблона«, «недостижимый тип %nd (допускается для обеспечения совместимости cfront)«, null, «недопустимое явное объявление создания экземпляра«, «%nf не является сущностью, для которой допускается создание экземпляра«, «не удается явно создать экземпляр созданного компилятором %n«, «не удается явно создать экземпляр встроенного %n«, null, «не удается создать экземпляр %n, поскольку не предоставлено определение шаблона«, «не удается создать экземпляр %n, поскольку он явно специализирован«, null, null, «отсутствуют экземпляры %n, соответствующие заданному типу«, «нестандартное объявление списка параметров void с использованием определения типа«, «глобальный %n1 используется вместо %n2 (совместимость cfront)«, «шаблон параметра %sq не может быть повторно объявлен в этой области видимости«, «объявление %sq скрывает параметр шаблона«, «список аргументов шаблона должен соответствовать списку параметров«, null, «дополнительный параметр постфиксной формы «operator%s« должен иметь тип «int««, «имя оператора должно быть объявлено как функция«, «использование имени оператора не допускается«, «не удается специализировать %n в текущей области видимости«, «нестандартная форма получения адреса функции-члена«, «слишком мало параметров шаблона — не соответствует предыдущему объявлению (объявлено %p)«, «слишком много параметров шаблона — не соответствует предыдущему объявлению (объявлено %p)«, «использование шаблона функции для оператора delete(void *) не допускается«, «шаблон класса и параметр шаблона не могут иметь одинаковое имя«, null, «аргумент шаблона не может ссылаться на неименованный тип«, «для этой операции с перечисляемым типом требуется соответствующая определяемая пользователем функция оператора«, «Использование квалификатора типа для ссылочного типа недопустимо.«, «значение типа %t1 нельзя присвоить сущности типа %t2«, «нецелесообразное сравнение целого числа без знака с отрицательной константой«, «не удается преобразовать в неполный класс %t«, «для объекта константы требуется инициализатор«, «объект содержит неинициализированные константу или ссылочный член«, «нестандартная директива предварительной обработки«, «%n не может содержать список аргументов шаблона«, «для агрегатного объекта требуется инициализация с использованием «{…}««, «Несовместимые типы класса выбора указателя на элемент (%t1 и %t2)«, «бессмысленное дружественное объявление«, ««.« используется вместо «::« для создания полного имени«, «вызов неконстантной функции для объекта константы (устаревший элемент)«, «зависимый оператор не может быть объявлением«, «параметр не может иметь тип void«, «создание экземпляра %na %p«, «обработка списка аргументов шаблона для %na %p«, «недопустимый оператор в выражении аргумента шаблона«, «для блока try требуется как минимум один обработчик«, «для обработчика требуется объявление исключения«, «обработчик маскирован обработчиком по умолчанию«, «обработчик потенциально маскирован предыдущим обработчиком для типа %t«, «для указания исключения используется локальный тип«, «избыточный тип в спецификации исключения«, «спецификация исключения несовместима с предыдущей %nd%s«, «предыдущая спецификация: исключения не будут вызваны«, «ранее опущено: %t«, «ранее указано, но опущено здесь: %t«, «поддержка обработки исключений отключена«, «разрешение всех исключение несовместимо с предыдущим %nd«, «не удалось создать файл запроса на создание экземпляра %sq«, «использование неарифметической операции в нетипизированном аргументе шаблона не допускается«, «использование локального типа для объявления нелокальной переменной«, «использование локального типа для объявления функции«, «передача управления в обход инициализации:«, «%nd«, «передача управления в обработчик исключений«, «%n используется до установки его значения«, «%n задано, но никогда не используется«, «не удается определить %n в текущей области видимости«, «спецификация исключения не допускается«, «конфликт внешнего и внутреннего связывания для %nfd«, «%nf не будет вызвано для неявных или явных преобразований«, «вид тега %s несовместим с параметром шаблона типа %t«, «использование шаблона функции для оператора new(size_t) не допускается«, null, «использование указателя на член типа %t не допускается«, «использование многоточия в списке параметров функции оператора не допускается«, «%no зарезервировано для использования в будущем в качестве ключевого слова«, «недопустимое определение макроса: %s«, «недопустимая отмена определения макроса: %s«, null, null, «необходимо указать имя IL-файла при следующих входных данных «, null, null, null, null, «ошибка в аргументе параметра отладки«, «недопустимый параметр: %s«, «для ядра требуется имя файла IL«, «не удалось открыть файл IL %s«, «недопустимый номер: %s«, «недопустимый идентификатор основного ЦП«, «недопустимый режим создания экземпляров: %s«, null, «недопустимый предел ошибок: %s«, null, null, null, null, null, null, «таблицы виртуальных функций могут быть подавлены только при компиляции C++«, «устаревший параметр можно использовать только при компиляции C++«, «параметр режима создания экземпляра можно использовать только при компиляции C++«, «режим автоматического создания экземпляра можно использовать только при компиляции C++«, «режим неявной вставки шаблона можно использовать только при компиляции C++«, «параметр обработки исключений можно использовать только при компиляции C++«, «строгий режим несовместим с режимом K&R«, «строгий режим несовместим с режимом cfront«, «отсутствует имя исходного файла«, «нельзя указывать выходные файлы при компиляции нескольких входных файлов«, «слишком много аргументов в командной строке«, «указан выходной файл, однако выходные файлы не требуются«, «для отображения IL требуется имя IL-файла«, «параметр шаблона не может иметь тип void«, «избыточное рекурсивное создание экземпляра %n в связи с использованием режима создания всех экземпляров«, «строгий режим несовместим с разрешающими устаревшими элементами«, «выражение Throw не может иметь тип void«, «режим локального создания экземпляра несовместим с режимом автоматического создания экземпляра«, «использование параметра абстрактного типа класса %t не допускается:«, «использование массива абстрактного типа класса %t не допускается:«, «нестандартный параметр шаблона с плавающей запятой«, «необходимо указать директиву pragma непосредственно перед объявлением«, «необходимо указать директиву pragma непосредственно перед оператором«, «необходимо указать директиву pragma непосредственно перед объявлением или оператором«, «использование этого вида директив pragma не допускается«, null, «перегруженная виртуальная функция %no1 переопределена в %n2 лишь частично«, «определение встроенной функции шаблона должно предшествовать ее первому использованию«, «недопустимый тег ошибки в параметре управления диагностикой: %s«, «недопустимый номер ошибки в параметре управления диагностикой: %s«, null, null, «Приведение указателя на функцию-член к указателю на функцию«, «в структуре или объединении не объявлены именованные члены«, «нестандартное неименованное поле«, «нестандартный неименованный член«, null, null, null, «%sq не является именем типа«, «не удается открыть предварительно скомпилированный входной файл заголовка %sq: %s2«, «предварительно скомпилированный файл заголовка %sq является недопустимым или создан с использованием другой версии компилятора«, «предварительно скомпилированный файл заголовка %sq был создан в другом каталоге«, «файлы заголовка, используемые для создания предварительно скомпилированного файла заголовка %sq, изменены«, «параметры командной строки не соответствуют параметрам, указанным при создании предварительно скомпилированного файла заголовка %sq«, «начальная последовательность директив предварительной обработки несовместима с указанной в предварительно скомпилированном файле заголовка %sq«, «не удалось получить сопоставленную память«, ««%s«: использование предварительно скомпилированного файла заголовка «%s««, ««%s«: создание предварительно скомпилированного файла заголовка «%s««, «использование памяти конфликтует с предварительно скомпилированным файлом заголовка %sq«, «недопустимый размер памяти для PCH: %s «, «параметры PCH необходимо указывать в командной строке в первую очередь«, «недостаточно памяти, чтобы выделить память для PCH«, «нельзя использовать предварительно скомпилированные файлы заголовка при компиляции нескольких входных файлов«, «недостаточно предварительно выделенной памяти для создания предварительно скомпилированного файла заголовка (требуется в байтах: %s)«, «не удается создать предварительно скомпилированный файл заголовка из-за наличия в программе слишком большой сущности«, «%sq не является допустимым каталогом«, «не удалось собрать имя временного файла«, «использование ключевого слова «restrict« не допускается«, «нельзя квалифицировать указатель или ссылку на тип функции с помощью ключевого слова «restrict««, null, «указание модификатора соглашения о вызовах не допускается«, «конфликт между модификаторами соглашений о вызовах«, «строгий режим несовместим с режимом Microsoft«, «режим cfront несовместим с режимом Microsoft«, «указанное соглашение о вызовах пропущено«, «Использование вложенного оператора объявления после соглашения о вызовах недопустимо.«, «соглашение о вызовах для этого типа пропущено«, null, «модификаторы объявления несовместимы с предыдущим объявлением«, «использование модификатора %sq в этом объявлении не допускается«, «передача управления в блок try«, «встроенная спецификация несовместима с предыдущей %nod«, «не найдена закрывающая фигурная скобка в определении шаблона«, «ключевое слово wchar_t можно использовать только при компиляции C++«, «недопустимое значение выравнивания упаковки«, «требуется целочисленная константа«, «вызов чистой виртуальной функции«, «недопустимая строка идентификатора входного файла«, «Шаблон класса невозможно определить в дружественном объявлении.«, «использование ключевого слова «asm« не допускается«, «в определении функции необходимо использовать ключевое слово «asm««, «нестандартная функция «asm««, «нестандартное использование многоточия без явных параметров«, «нестандартное «&…««, «недопустимое использование «&…««, null, «временно используется в качестве начального значения для ссылки на квалификатор const или volatile (устаревший элемент)«, «не удается инициализировать ссылку типа %t1 со значением типа %t2«, «начальное значение ссылки на квалификатор const или volatile должно быть левосторонним значением«, «параметр совместимости SVR4 C можно использовать только при компиляции ANSI C«, «использование лежащего вне области видимости объявления %nd«, «строгий режим несовместим с режимом SVR4 C«, «не удается определить вызов %nd как встроенный«, «не удается определить %n как встроенный«, «недопустимый каталог PCH: %s«, «требуется __except или __finally«, «оператор __leave можно использовать только внутри блока __try«, «обнаружено во время создания экземпляра %nt %p«, «обнаружено во время неявного создания %nt %p«, «обнаружено во время создания экземпляра %na %p«, «обнаружено во время обработки списка аргументов шаблона для %na %p«, «обнаружено во время неявного определения %nt %p«, «%sq не найдено в стеке выравнивания упаковки«, «пустой стек выравнивания упаковки«, «параметр RTTI можно использовать только при компиляции C++«, «недостижимый параметр %nfd, необходимый для исключенной копии«, «не удается вызвать параметр %nf, необходимый для исключенной копии, поскольку не удается привязать ссылочный параметр к правостороннему значению«, «необходимо включить ключевое слово <typeinfo> перед использованием typeid«, «%s не может отбросить квалификатор const или другие квалификаторы типа.«, «тип dynamic_cast должен являться указателем или ссылкой на тип полного класса или void *«, «операнд указателя dynamic_cast должен быть указателем на тип полного класса«, «ссылка указателя dynamic_cast должна быть левосторонним значением типа полного класса«, «операнд времени выполнения dynamic_cast должен иметь тип полиморфного класса«, «параметр bool можно использовать только при компиляции C++«, null, «использование типа массива не допускается«, «требуется «=««, null, «параметр %sq, объявленный в условии, не может быть повторно объявлен в этой области видимости«, «использование аргументов шаблона по умолчанию в шаблонах функций не допускается«, «требуется запятая «,« или угловая скобка «>««, «требуется список параметров шаблона«, «увеличение логического значения не рекомендуется«, «использование типа bool не допускается«, «слишком большое смещение базового класса %no1 внутри класса %no2«, «выражение должно иметь тип bool (или тип с возможностью преобразования в bool)«, «параметры создания и удаления массива можно использовать только при компиляции C++«, «%n не является именем переменной«, «использование модификатора __based не допускается«, «после модификатора __based не указан оператор указателя, модификатор __based пропущен«, «переменная в модификаторе __based должна иметь тип указателя«, «тип в const_cast должен являться указателем на член, указателем или ссылкой на тип объекта«, «const_cast поддерживает только настройку квалификаторов типа и не обеспечивает изменение базового типа.«, «использование переменного типа не допускается«, «повторное объявление %n для изменения параметров доступа не допускается«, null, «использование альтернативного токена «<:«, возможно, является случайным«, «использование альтернативного токена «%%:«, возможно, является случайным«, «использование определения пространства имен не допускается«, «необходимо использовать имя пространства имен«, «использование определения псевдонима пространства имен не допускается«, «требуется квалифицированное имя пространства имен«, «использование имени пространства имен не допускается«, «недопустимое сочетание атрибутов DLL«, «%n не является шаблоном класса«, «нестандартный массив с неполным типом элементов«, «оператор выделения нельзя объявить в пространстве имен«, «оператор освобождения нельзя объявить в пространстве имен«, «%np1 конфликтует с объявлением using для %np2«, «объявление using для %np1 конфликтует с %npd2«, «параметр namespaces можно использовать только при компиляции C++«, «объявление using пропущено, поскольку оно ссылается на текущее пространство имен«, «требуется квалифицированное имя класса«, «типы аргументов: (%s)«, «типы операндов: %s«, null, «%n не содержит фактический член %sq«, null, «указаны несовместимые атрибуты памяти«, «атрибут памяти пропущен«, «Использование вложенного оператора объявления после атрибута памяти недопустимо.«, «атрибут памяти указан более одного раза«, «соглашение о вызовах указано более одного раза«, «Использование квалификатора типа недопустимо.«, «%npd1 используется до объявления соответствующего шаблона«, «не удается перегрузить статические и нестатические функции-члены с одинаковыми типами параметров«, «отсутствует предшествующее объявление %np«, «использование идентификатора шаблона не допускается«, «использование квалифицированного имени в классе не допускается«, «%n нельзя повторно определить в текущей области видимости«, «использование полного имени в объявлении члена пространства имен не допускается«, «%n не является именем типа«, «явное создание экземпляра в текущей области не допускается«, «не удается явно создать экземпляр %n в текущей области видимости«, «экземпляр %n явно создан более одного раза«, «параметр typename может использоваться только внутри шаблона«, «параметр special_subscript_cost можно использовать только при компиляции C++«, «параметр typename можно использовать только при компиляции C++«, «неявный параметр typename можно использовать только при компиляции C++«, «нестандартный знак в начале объектного макроопределения«, «спецификация исключения для виртуальной функции %n1 несовместима со спецификацией переопределенной функции %n2«, «преобразование указателя в короткое целое«, «спецификация исключения для неявно объявленной виртуальной функции %n1 несовместима со спецификацией переопределенной функции %n2«, «функция %no1, неявно вызываемая из %np2, не является однозначной«, «параметр explicit можно использовать только при компиляции C++«, «ключевое слово explicit недопустимо«, «конфликт объявления с %sq (зарезервированное имя класса)«, «в качестве инициализатора массива %n можно использовать только «()««, «использование ключевого слова «virtual« в объявлении шаблона функции не допускается«, «недопустимое анонимное объединение — использование шаблона члена класса не допускается«, «глубина вложения шаблона не соответствует предшествующему объявлению %n«, «это объявление не может содержать несколько предложений «template <…>««, «параметр управления областью действия for-init может использоваться только при компиляции C++«, «параметр %sq, объявленный в инициализации for-loop, не может быть повторно объявлен в этой области видимости«, «ссылка на %nd1 — в соответствии со старыми правилами обзора for-init будет иметь вид %nd2«, «параметр управления предупреждениями для различий for-init может использоваться только при компиляции C++«, «требуется определение виртуальной функции %n«, «пустой комментарий интерпретируется как оператор вставки токена «##««, «Класс хранения недопустим в дружественном объявлении.«, «использование списка параметров шаблона для %no в этом объявлении не допускается«, «%n не является допустимым шаблоном элементов класса«, «не является допустимым классом члена или объявлением шаблона функции«, «после объявления шаблона, содержащего список параметров шаблона, не может следовать объявление явной специализации«, «явная специализация %n1 должна предшествовать первому использованию %n2«, «явная специализация в текущей области не допускается«, «частичная специализация %n не допускается«, «%nf не является сущностью, для которой допускается явная специализация«, «явная специализация %n должна предшествовать его первому использованию«, «параметр шаблона %sq не может использоваться в усовершенствованном спецификаторе типа«, «для специализации %n требуется синтаксис «template<>««, null, null, «параметр old_specializations можно использовать только при компиляции C++«, «нестандартная специализация %n без синтаксиса «template<>««, «это объявление не может содержать внешнее C-связывание«, «%sq не является именем класса или шаблона функции в текущей области видимости«, «нестандартное указание аргумента по умолчанию при повторном объявлении не указанного ссылками шаблона функции«, «указание аргумента по умолчанию при повторном объявлении уже указанного ссылками шаблона функции не допускается«, «не удается преобразовать указатель на член базового класса %t2 в указатель на член производного класса %t1, поскольку базовый класс является виртуальным«, «спецификация исключения несовместима со спецификацией %nd%s«, «разрешение всех исключение несовместимо с %nd«, «недопустимый конец выражения аргумента по умолчанию«, «инициализация ссылки по умолчанию не допускается«, «неинициализированный %n содержит член-константу«, «неинициализированный базовый класс %t содержит член-константу«, «для константы %n требуется инициализатор — класс %t не содержит определяемого пользователем конструктора по умолчанию«, «для объекта-константы требуется инициализатор — класс %t не содержит определяемого пользователем конструктора по умолчанию«, «параметр implicit_extern_c_type_conversion можно использовать только при компиляции C++«, «строгий режим несовместим с длинными правилами сохранения«, «квалификатор типа для типа возвращаемого значения не имеет смысла«, «Использование квалификатора типа для типа возвращаемого значения «void« в определении функции недопустимо.«, «объявление статического элемента данных в этом классе не допускается«, «создание экземпляра шаблона привело к недопустимому объявлению функции«, «символы «« недопустимы«, «параметр extern_inline можно использовать только при компиляции C++«, «ссылка на неопределенный внешний встраиваемый параметр %n не определена«, «неправильное имя деструктора для типа %t«, null, «неоднозначная ссылка на деструктор — могут использоваться одновременно %n1 и %n2«, «неопределенный виртуальный встраиваемый параметр %n«, «отсутствуют ссылки на %n«, «в списке инициализатора конструктора можно указывать только один член объединения«, «операторы «new[]« и «delete[]« не поддерживаются«, «в коде C используется тип «double« вместо «long double««, «%n не имеет соответствующего оператора delete%s, который будет вызываться при возникновении исключения в процессе инициализации объектов, для которых выделена память«, «удаление размещений не поддерживается«, «отсутствуют видимые операторы удаления«, «использование указателя или ссылки на неполный тип не допускается«, «недопустимая частичная специализация — уже выполнена полная специализация %n«, «несовместимые спецификации исключений«, «возвращение ссылки на локальную переменную«, «нестандартное упущение явного типа (требуется «int«)«, «списку аргументов шаблона %n соответствует более одной частичной специализации«, «%nod«, «использование списка аргументов шаблона в объявлении основного шаблона не допускается«, «частичные специализации не могут содержать аргументы шаблона по умолчанию«, «%n1 не используется или не может быть выведено из списка аргументов шаблона %n2«, null, «список аргументов шаблона для частичной специализации содержит нетипизированный аргумент, тип которого зависит от параметра шаблона«, «такая частичная специализация могла бы использоваться для создания экземпляра %n«, «такая частичная специализация могла бы привести к неоднозначности создания экземпляра %n«, «выражение должно иметь целочисленный или перечисляемый тип«, «выражение должно иметь арифметический или перечисляемый тип«, «выражение должно иметь арифметический, перечисляемый тип или тип указателя«, «тип приведения должен быть целочисленным или перечисляемым«, «тип приведения должен быть арифметическим, перечисляемым или указателем«, «выражение должно представлять собой указатель на полный тип объекта«, null, «нетипизированный аргумент частичной специализации должен представлять собой имя нетипизированных параметра или константы«, «возвращаемый тип не идентичен возвращаемому типу %t переопределенной виртуальной функции %no«, «параметр guiding_decls можно использовать только при компиляции C++«, «частичная специализация шаблона класса должна быть объявлена в пространстве имен, членом которого он является«, «%n является чистой виртуальной функцией«, «чистая виртуальная функция %n не имеет оператора переопределения«, «атрибуты __declspec пропущены«, «недопустимый знак во входной строке«, «функция возвращает неполный тип %t«, «директива «#pragma pack« действует локально по отношению к %n«, «%s не является шаблоном«, «В дружественном объявлении не может объявляться частичная специализация.«, «спецификация исключения пропущена«, «объявление «size_t« не соответствует требуемому типу %t«, «требуется пробел между смежными разделителями «>« вложенных списков аргументов шаблона («>>« — это оператор сдвига вправо)«, «не удается задать языковой стандарт %sq для обработки знаков многобайтовой кодировки«, «недопустимая последовательность знаков многобайтовой кодировки«, «создание экземпляра шаблона привело к недопустимому типу функции %t1 (значение имени могло измениться с момента объявления шаблона — шаблон имеет тип %t2)«, «неоднозначное управляющее объявление — более одного шаблона функции %no соответствует типу %t«, «использование нецелочисленной операции в нетипизированном аргументе шаблона не допускается«, «параметр embedded_c++ можно использовать только при компиляции C++«, «встроенный C++ не поддерживает шаблоны«, «встроенный C++ не поддерживает обработку исключений«, «встроенный C++ не поддерживает пространства имен«, «встроенный C++ не поддерживает данные о типах времени выполнения«, «встроенный C++ не поддерживает новый синтаксис приведения«, «встроенный C++ не поддерживает объявления using«, «встроенный C++ не поддерживает переменные типы«, «встроенный C++ не поддерживает множественное или виртуальное наследование«, «недопустимый номер версии Майкрософт: %s«, «Представление указателя на элемент %sq уже задано для %n.«, «не удается использовать %t1 для назначения конструктора для %t2«, «недопустимый суффикс целочисленной константы«, «операнд __uuidof должен иметь класс перечисляемого типа, для которого указан __declspec(uuid(««))«, «недопустимая строка GUID в __declspec(uuid(««))«, «параметр vla можно использовать только при компиляции C«, «использование массивов переменной длины с незаданной привязкой не допускается«, «использование явного списка аргументов шаблона в этом объявлении не допускается«, «сущность со связыванием не может иметь тип, в котором используется массив переменной длины«, «массив переменной длины не может иметь статическую длительность хранения«, «%n не является шаблоном«, «измерение массива переменной длины (объявлено — %p)«, «требуется аргумент шаблона«, null, «оператору, не являющемуся членом, требуется параметр с класса перечисляемого типа«, «параметр enum_overloading можно использовать только при компиляции C++«, null, «квалификатор имени деструктора %t1 не соответствует типу %t2«, «квалификатор типа пропущен«, «Элемент «nonstd_qualifier_deduction« можно использовать только при компиляции кода на C++.«, «не удается определить функцию, объявляющую «dllimport««, «недопустимая спецификация свойства; правильная форма — __declspec(property(get=имя_1,put=имя_2))«, «свойство уже определено«, «использование спецификации __declspec(property) в этом объявлении не допускается«, «член объявлен с помощью спецификации __declspec(property), однако функция «get« не определена«, «отсутствует функция «get« %sq для спецификации __declspec(property)«, «член объявлен с помощью спецификации __declspec(property), однако функция «put« не определена«, «отсутствует функция «put« %sq для спецификации __declspec(property)«, «неоднозначная ссылка на член класса — %nd1 используется вместо %nd2«, null, null, null, «не удается преобразовать указатель на член производного класса %t1 в указатель на член базового класса %t2, поскольку базовый класс является виртуальным«, «недопустимый каталог для файлов создания экземпляров: %s«, «параметр one_instantiation_per_object можно использовать только при компиляции C++«, null, null, «файл сведений о создании экземпляра не может быть указан при компиляции нескольких входных файлов«, «параметр «one_instantiation_per_object« не может использоваться при компиляции нескольких входных файлов«, «более одного параметра командной строки соответствует сокращению «—%s«:«, «—%s«, «Квалификаторы типа для типов функций пропускаются.«, null, «параметр схемы раннего или позднего разрешения конфликтов можно использовать только при компиляции C++«, «неправильное использование va_start«, «неправильное использование va_arg«, «неправильное использование va_end«, «параметр ожидающего создания экземпляра можно использовать только при компиляции C++«, «недопустимый каталог для файлов #import: %s«, «каталог для импорта можно указать только в режиме Microsoft«, «использование члена со ссылочным типом в объединении не допускается«, «использование определения типа не допускается«, «повторное объявление %n изменяет соответствующие параметры доступа«, «требуется полное имя класса или пространства имен«, «тип возвращаемого значения «int« опущен в объявлении функции «main««, «Слишком строгое ограничение представления указателя на элемент %sq для %n.«, «отсутствует оператор return в конце функции %n, не являющейся void«, «повторяющееся объявление using для %no пропущено«, «перечисляемые битовые поля не имеют знака, однако перечисляемый параметр «%t« содержит отрицательный перечислитель«, «параметр class_name_injection можно использовать только при компиляции C++«, «параметр arg_dep_lookup можно использовать только при компиляции C++«, «параметр friend_injection можно использовать только при компиляции C++«, «имя, указываемое после слова «template«, должно определять шаблон«, null, «Нестандартное дружественное объявление локального класса — отсутствует предшествующее объявление во включающей области.«, «нестандартное определение аргумента по умолчанию в этом объявлении«, «параметр nonstd_using_decl можно использовать только при компиляции C++«, «тип возвращаемого значения функции «main« должен быть «int««, «нетипизированный параметр шаблона не может иметь тип класса«, «аргумент шаблона по умолчанию не может быть указан в определении члена шаблона класса вне шаблона«, «Использование оператора return в обработчике блока function try конструктора недопустимо.«, «Недопустимо сочетать обычные и расширенные указатели в указании инициализатора.«, «второй нижний индекс не может быть меньше первого«, null, «Параметр «extended_designators« можно использовать только при компиляции кода на C.«, «объявленный размер битового поля превышает размер типа битового поля; усечено до %s бит«, «тип, используемый в качестве имени конструктора, не соответствует типу %t«, «использование типа без связывания для объявления переменной со связыванием«, «использование типа без связывания для объявления функции«, «не допускается указание типа возвращаемого значения для конструктора«, «не допускается указание типа возвращаемого значения для деструктора«, «неправильно сформированное универсальное имя символа«, «универсальное имя символа определяет недопустимый символ«, «универсальное имя символа не может обозначать символ из базового набора«, «использование этого универсального символа в идентификаторе не допускается«, «идентификатор __VA_ARGS__ может использоваться только в списках замены для макросов с переменным числом аргументов«, «Квалификатор в этом дружественном объявлении пропущен.«, «Невозможно применить указатели диапазона массива к динамическим инициализаторам.«, «имя свойства не может присутствовать здесь«, «ключевое слово «inline«, используемое в качестве квалификатора функции, пропущено«, «параметр compound_literals можно использовать только при компиляции C«, «использование типа массива переменной длины не допускается«, «недопустимый составной литерал в целом константном выражении«, «использование составного литерала типа %t не допускается«, «Дружественное объявление шаблона не может быть объявлено в локальном классе.«, «неоднозначная операция «?«: второй операнд типа %t1 может быть преобразован в третий операнд типа %t2 и наоборот«, «вызов объекта типа класса без соответствующей функции operator() или функций преобразования указателя в функцию«, «функция-заменитель из преобразования %np«, «существует более одного способа вызова объекта типа %t для списка аргументов:«, «имя определения типа уже объявлено с аналогичным типом«, «назначение внутреннего связывания операторам new и delete не поддерживается«, «Использование класса хранения «mutable« для анонимных объединений недопустимо.«, «недопустимый предварительно скомпилированный файл заголовка«, «использование типа абстрактного класса %t в качестве типа перехвата не допускается:«, «тип квалифицированной функции нельзя использовать для объявления функций, не являющихся функциями-членами, или статических функций-членов«, «тип квалифицированной функции нельзя использовать для объявления параметра«, «не удается создать указатель или ссылку на тип квалифицированной функции«, «нестандартное использование лишних фигурных скобок«, «недопустимое определение макроса: %s«, «нестандартное вычитание типов указателей %t1 и %t2«, «использование пустого списка параметров шаблона в объявлении параметра шаблона template не допускается«, «требуется ключевое слово «class««, «при объявлении параметра шаблона template не следует использовать ключевое слово «struct««, «%np2 скрыто с помощью %no1 — предполагается переопределение виртуальной функции?«, «Использование полного имени в дружественном объявлении, которое является определением функции, недопустимо.«, «%n1 несовместимо с %n2«, «здесь нельзя указать класс хранения«, «член класса, обозначенный с помощью объявления using, должен быть видим в прямом базовом классе«, null, «режим Sun несовместим с режимом cfront«, «строгий режим несовместим с режимом Sun«, «режим Sun можно использовать только при компиляции C++«, «параметр шаблона template не может иметь то же имя, что и один из соответствующих параметров шаблона«, «рекурсивное создание экземпляра аргумента по умолчанию«, null, «%n не является сущностью, для которой допускается определение«, «имя деструктора должно быть полным«, «имя класса дружественной функции не может вводиться с помощью ключевого слова «typename««, «объявление using не может использоваться для присвоения имени конструктору или деструктору«, «полное объявление шаблона дружественной функции должно ссылаться на конкретный ранее объявленный шаблон«, «недопустимый спецификатор в объявлении шаблона класса«, «аргумент несовместим с формальным параметром«, «параметр dep_name можно использовать только при компиляции C++«, «циклическая последовательность функций «operator->«, начиная с класса %t1«, «%n не содержит класс-член %sq«, «глобальная область видимости не содержит класс с именем %sq«, «рекурсивное создание экземпляра аргумента по умолчанию шаблона«, «использование объявлений доступа и объявлений using в объединениях не допускается«, «%no не является членом класса«, «нестандартное объявление члена-константы не допускается«, «параметр ignore_std можно использовать только при компиляции C++«, «параметр parse_templates можно использовать только при компиляции C++«, «параметр «dep_name« не может использоваться с параметром «no_parse_templates««, «указаны несовместимые языковые режимы«, «недопустимое повторное объявление вложенного класса«, «использование типа, содержащего массив неизвестного размера, не допускается«, «не удается определить переменную со статической длительностью хранения внутри встроенной функции«, «Ссылка на сущность с внутренним связыванием недопустима внутри встраиваемой функции с внешним связыванием.«, «тип аргумента %t не соответствует этому универсальному типовому макросу функции«, «массив переменной длины %nod«, «Дружественное объявление не может добавить аргументы по умолчанию к предыдущему объявлению.«, «не удается объявить %n в этой области видимости«, «зарезервированный идентификатор %sq можно использовать только внутри функции«, «этот универсальный символ не может использоваться в начале идентификатора«, «требуется строковый литерал«, «нераспознанная директива STDC pragma«, «требуется значение ON, OFF или DEFAULT«, «директива STDC pragma может использоваться только между объявлениями в глобальной области видимости или перед любыми операторами и объявлениями в области видимости блока«, «неправильное использование va_copy«, «%s может использоваться только с типами с плавающей запятой«, «недопустимый сложный тип«, «Недопустимый вид указателя«, «не удается точно представить значение с плавающей запятой«, «результат сложной операции с плавающей запятой лежит вне допустимого диапазона«, «в результате преобразования между действительным и мнимым числом получается нуль«, «не удается определить инициализатор для члена гибкого массива«, «в результате операции «мнимое число *= мнимое число« левому операнду присваивается значение, равное нулю«, «в соответствии со стандартом тип %n должен присваиваться в последующем объявлении (требуется «int«)«, «требуется определение для встроенного %n«, «преобразование целого числа в короткий указатель«, «необходимо включить тип с плавающей запятой в спецификатор типа _Complex или _Imaginary«, «не допускается объявление типов в анонимных объединениях«, «возвращение указателя на локальную переменную«, «возвращение указателя на локальную временную память«, «параметр «export« можно использовать только при компиляции C++«, «параметр «export« не может использоваться с параметром «no_dep_name««, «параметр «export« не может использоваться с параметром «implicit_include««, «Объявление %n несовместимо с объявлением другой единицы трансляции.«, «другое объявление: %p«, «Обнаружено во время компиляции дополнительной единицы трансляции %sq.«, «Компиляция дополнительной единицы трансляции %sq.«, «объявление дружественной функции не может содержать тип, в котором используется массив переменной длины«, «объявление %n имело другое значение во время компиляции %sq«, «требуется ключевое слово «template««, «ключевое слово «export« не может использоваться для явного создания экземпляра«, «ключевое слово «export« не может использоваться в этом объявлении«, «член неименованного пространства имен не может быть объявлен с помощью ключевого слова «export««, «шаблон не может быть объявлен с помощью ключевого слова «export« после его определения«, «объявлению не может быть назначена метка«, «экспортированные шаблоны не поддерживаются«, null, «%n уже определено во время компиляции %sq«, «%n уже определено в другой единице трансляции«, «использование нестатической локальной переменной в спецификации __based не допускается«, «Параметр для создания списка зависимостей в файле makefile не может быть указан при компиляции множества единиц трансляции.«, null, «Параметр для создания предварительно обработанных выходных данных не может быть указан при компиляции множества единиц трансляции.«, «поле, имя которого совпадает с именем соответствующего класса, не может быть объявлено в классе с объявленным пользователем конструктором«, ««implicit_include« не может использоваться при компиляции множества единиц трансляции.«, «экспортированный файл шаблона %sq поврежден«, «Невозможно создать экземпляр %n — он явно специализирован в единице трансляции, содержащей экспортированное определение.«, «тип объекта: %s«, «Объект содержит квалификаторы типа, несовместимые с элементом %n.«, «Отсутствуют экземпляры %n, соответствующие списку аргументов и объекту (объект содержит несоответствующие квалификаторы типа).«, «атрибут задает режим, несовместимый с %t«, «отсутствует тип с заданной шириной«, «в атрибуте задано недопустимое значение выравнивания«, «недопустимый атрибут для %t«, null, null, «атрибут %sq не принимает аргументы«, null, «требуется имя атрибута«, «неизвестный атрибут %sq«, «использование атрибутов здесь не допускается«, «недопустимый аргумент атрибута %sq«, null, «в выражении «goto *expr« выражение expr должно иметь тип «void *««, «нестандартное выражение «goto *expr««, «нестандартное получение адреса метки«, «имя файла указано более одного раза: %s«, «директива #warning: %s«, null, «атрибут «transparent_union« применяется только к объединениям, а %t не является объединением«, «атрибут «transparent_union« пропускается для неполных типов«, «%t не может быть прозрачным, поскольку размеры %n и первого поля не совпадают«, «%t1 не может быть прозрачным, поскольку содержит поле типа %t2, размер которого отличается от размера первого поля«, null, «атрибут %sq не применяется к локальным переменным«, «использование атрибутов в определении функции не допускается«, null, «вторая константа в диапазоне оператора case должна быть больше первой«, «использование имени ассемблерного кода в определении функции не допускается«, «имя ассемблерного кода в определении типа пропускается«, «неизвестное имя регистра «%s««, null, «неизвестный модификатор ограничений ассемблерного кода «%s««, «неизвестная буква ограничений ассемблерного кода «%s««, «операнд ассемблерного кода не имеет буквы ограничений«, «операнд вывода ассемблерного кода должен содержать один из модификаторов «=« или «+««, «операнд ввода ассемблерного кода не может содержать модификаторы «=« или «+««, null, null, «регистр «%s« используется более одного раза«, «регистр «%s« одновременно используется и затирается«, «регистр «%s« затирается более одного раза«, «регистр «%s« имеет фиксированное предназначение и не может использоваться в операторе ассемблерного кода«, «регистр «%s« имеет фиксированное предназначение и не может быть затерт в операторе ассемблерного кода«, «пустой список затирания должен быть полностью опущен«, «требуется операнд ассемблерного кода«, «требуется регистр для затирания«, «для атрибута «format« требуется параметр-многоточие«, «первый аргумент замены не является первым переменным аргументом«, «индекс аргумента формата превышает число параметров«, «аргумент формата имеет отличный от строкового тип«, «ключевое слово «template«, обеспечивающее синтаксическую однозначность, может использоваться только внутри шаблона«, «чтобы использовать директиву db_opt pragma, необходимо указать параметр отладки в командной строке«, null, «атрибут %sq неприменим к типу %t, не являющемуся функцией«, «арифметическая операция с указателем на тип void или тип функции«, «В качестве класса хранения нужно использовать auto или register.«, «уровень %t1 был бы повышен до %t2 при передаче параметра-многоточия; вместо этого используйте последний тип«, «%sq не является членом базового класса«, «__super не может использоваться после «::««, «__super можно использовать только в области видимости класса«, «после __super необходимо использовать «::««, «[ контексты создания экземпляров «%d« не показаны ]«, «слишком длинное искаженное имя«, «псевдоним объявления является неопределенной сущностью %sq«, «объявление не соответствует псевдониму %n«, «сущность, объявленная как псевдоним, не может иметь определение«, «тип поля массива переменной длины будет обрабатываться как тип поля массива нулевой длины«, «нестандартное приведение левостороннего значения пропущено«, «нераспознанное имя флага: %s«, «тип возвращаемого значения void не может быть полным именем«, «пропущен спецификатор auto (использование спецификатора не допускается в соответствии со стандартами C/C++)«, «уменьшение выравнивания без атрибута «packed« пропущено«, «Шаблон элемента, соответствующий %no, объявлен как шаблон другого вида в другой единице трансляции.«, «лишние инициализаторы пропущены«, «va_start может использоваться только в функции с параметром-многоточием«, «параметр «short_enums« действует только в режимах GNU C и GNU C++«, «недопустимый файл экспорта данных %sq1, ошибка в строке %s2«, «использование выражений оператора допускается только в области видимости блока«, «из единицы трансляции «, «имя ассемблерного кода для нерегистровой автоматической переменной пропущено«, null, «нераспознанная директива UPC pragma«, «размер общего блока не соответствует ранее заданному«, «выражение в скобках должно определять размер блока, а не измерение массива«, «размер блока общего массива должен быть больше нуля«, «использование нескольких размеров блока не допускается«, «использование атрибутов strict или relaxed требует атрибута shared«, «использование THREADS в этом контексте не допускается«, «заданный размер блока превышает максимальное значение %s«, «использование общей функции не допускается«, null, «одно измерение массива общего типа должно быть кратным THREADS, где число потоков является непостоянной величиной«, «использование общего типа внутри структуры или объединения не допускается«, «параметры не могут иметь общие типы«, «для динамического измерения THREADS требуется определенный размер блока«, «общие переменные должны быть статическими или внешними«, «аргумент upc_blocksizeof является указателем на общий тип, а не общим типом«, «выражение сходства во вложенном upc_forall пропущено«, «ветвление в цикл upc_forall или из него не допускается«, «выражение сходства должно иметь общий тип или являться указателем на общий тип«, «сходство имеет общий тип, а не указатель на общий тип«, «общие типы void* можно сравнивать только на предмет равенства«, «режим UPC несовместим с режимами C++ и K&R«, «знак нуля в строке ввода пропущен«, «знак нуля в строке или символьной константе«, «знак нуля в заголовке«, «объявление в for-initializer скрывает объявление в окружающей области видимости«, «скрытое объявление: %p«, «объявление прототипа %nfd пропущено после повторного объявления без прототипа«, null, «%npd должно иметь внешнее C-связывание«, «объявление переменной скрывает объявление в for-initializer«, «определение типа %sq не может использоваться в усовершенствованном спецификаторе типа«, «вызов нулевой константы пропущен«, «параметр %sq не может быть повторно объявлен в предложении catch блока function try«, «исходная явная специализация %n должна быть объявлена в пространстве имен, содержащем шаблон«, «затирание «cc« пропущено«, «после ключевого слова «template« должен следовать идентификатор«, «использование MYTHREAD в этом контексте не допускается«, «квалификатор макета не может определять указатель на общий тип«, «квалификатор макета не может определять неполный массив«, «объявление %sq скрывает параметр обработчика«, «нестандартное приведение к типу массива пропущено«, «эту директиву pragma нельзя использовать в операторе _Pragma (следует использовать директиву #pragma)«, «в поле используется выравнивание хвостового элемента базового класса«, «компиляторы GNU C++ могут использовать выравнивание битового поля«, «%nd объявлено как deprecated«, «использование имени ассемблерного кода в объявлении нестатического члена не допускается«, «нераспознанный тип функции формата %sq пропущен«, «в базовом классе %no1 используется выравнивание хвостового элемента базового класса %no2«, «атрибут «init_priority« можно использовать только в определении статических элементов данных и переменных области видимости пространства имен для типов класса«, «запрошенный приоритет инициализации зарезервирован для внутреннего использования«, «это поле анонимного объединения или структуры скрыто %nd«, «недопустимый номер ошибки«, «недопустимый тег ошибки«, «требуется номер или тег ошибки«, «на размер класса влияет выравнивание хвостового элемента«, «ссылки на метки можно использовать только в определениях функций«, «передача управления в выражение оператора не допускается«, null, «использование этого оператора внутри выражения оператора не допускается«, «класс, не являющийся элементарно копируемым, не может быть определен внутри выражения оператора«, null, «использование динамический инициализируемой локальной статической переменной внутри выражения оператора не допускается«, «использование массива переменной длины внутри выражения оператора не допускается«, «использование выражения оператора внутри аргумента по умолчанию не допускается«, «нестандартное преобразование между указателем на функцию и указателем на данные«, «типы интерфейса не могут иметь виртуальные базовые классы«, «типы интерфейса не могут иметь атрибуты «private« или «protected««, «типы интерфейса могут быть производными только от других типов интерфейса«, «%t является типом интерфейса«, «типы интерфейса не могут иметь члены определения типа«, «типы интерфейса не могут иметь объявляемые пользователем конструкторы или деструкторы«, «типы интерфейса не могут иметь объявляемые пользователем операторы-члены«, «типы интерфейса не могут быть объявлены как функции«, null, «типы интерфейса не могут иметь элементы данных«, «Типы интерфейса не могут содержать дружественные объявления.«, null, «типы интерфейса не могут являться типами вложенных классов«, «типы интерфейса не могут иметь шаблоны членов«, «типы интерфейса не могут иметь статические функции-члены«, «эту директиву pragma нельзя использовать в операторе _pragma (следует использовать директиву #pragma)«, «квалификатор должен являться базовым классом для %t«, «объявление должно соответствовать чистой виртуальной функции-члену в указанном базовом классе«, «переполнение для целочисленных значений при внутреннем вычислении, связанное с размером или сложностью %t«, «переполнение для целочисленных значений при внутреннем вычислении«, «__w64 может использоваться только для типов int, long и pointer«, «Возможно сужающее преобразование при компиляции в среде, где используются 64-разрядные типы int, long или указателей.«, «текущее значение директивы pragma pack: %s«, «аргументы директивы pragma pack(show) пропущены«, null, null, «более раннее __declspec(align(…)) пропущено«, «требуется значение аргумента для параметра атрибута %sq«, «недопустимое значение аргумента для параметра атрибута %sq«, «требуется логическое значение для параметра атрибута %sq«, «позиционный аргумент не может следовать за именованным аргументом в атрибуте«, «атрибут %sq1 не содержит параметр с именем %sq2«, «требуется список аргументов для атрибута %sq«, «требуется «,« или «]««, «аргументу атрибута %sq уже присвоено значение«, «не удается присвоить значение атрибуту %sq«, «выражение throw не может иметь тип указателя на неполный тип«, «оператор alignment-of применен к неполному типу«, «%sq может использоваться только в качестве изолированного атрибута«, «использование атрибута %sq не допускается«, null, «использование атрибутов не допускается«, «недопустимое значение аргумента для параметра атрибута %sq«, «слишком много аргументов атрибута«, «не допускается преобразование из недоступного базового класса %t«, «для параметра «export« требуются подписи шаблонов«, «не удается объединить строковые литералы со знаками различного вида«, «не удается эмулировать ошибку макета GNU, поскольку при этом виртуальный базовый класс %no1 выходит за границы объекта %no2«, «виртуальный базовый класс %no1 выходит за границы объекта %no2«, «нестандартное полное имя в объявлении члена пространства имен«, «уменьшение выравнивания пропущено«, «квалификатор const пропущен«, null, «недопустимые квалификаторы ассемблерного кода GNU«, «тип класса, который не является элементарно копируемым, передал многоточие«, «va_arg не может получить тип класса, который не может быть элементарно скопирован«, «в литерале с фиксированной запятой суффикс «u« или «U« должен появляться раньше суффикса «l« или «L««, «параметр fixed_point можно использовать только при компиляции C«, «использование целочисленного операнда может привести к переполнению значения с фиксированной запятой«, «константа с фиксированной запятой выходит за пределы допустимого диапазона«, «не удается точно представить значение с фиксированной запятой«, «значение константы слишком велико для типа long long; задан тип long long без знака (не соответствует стандарту)«, «квалификатор макета не может определять указатель на общий тип void«, «повторяющиеся THREADS в многомерном массиве«, «строгая директива using может использоваться только в области видимости пространства имен«, «%nf объявляет функцию, не являющуюся шаблоном — добавьте <>, чтобы определить ссылку на экземпляр шаблона«, «операция может привести к переполнению значения с фиксированной запятой«, «выражение должно иметь целочисленный, перечисляемый тип или тип с фиксированной запятой«, «выражение должно иметь целочисленный тип или тип с фиксированной запятой«, «функция, объявленная с использованием «noreturn«, не возвращает значение«, «имя ассемблерного кода пропущено, поскольку оно конфликтует с предыдущим объявлением«, «определение типа члена класса не может быть объявлено повторно«, «получение адреса временной переменной«, «пропущены атрибуты в объявлении класса, которое не является определением«, «значение с фиксированной запятой неявно преобразовано в тип с плавающей запятой«, «типы с фиксированной запятой не имеют классификации«, «параметр шаблона не может иметь тип с фиксированной запятой«, «использование шестнадцатеричных констант с плавающей запятой не допускается«, «параметр named_address_spaces можно использовать только при компиляции C«, «значение с плавающей запятой не помещается в необходимом типе с фиксированной запятой«, «не удается преобразовать значение в значение с фиксированной запятой без потери точности«, «преобразование с фиксированной точкой привело к смене знака«, «целочисленное значение не помещается в необходимом типе с фиксированной запятой«, «результат операции с фиксированной запятой лежит вне допустимого диапазона«, «несколько именованных адресных пространств«, «переменная с автоматически определяемой длительностью хранения не может храниться в именованном адресном пространстве«, «тип не может быть квалифицирован с использованием именованного адресного пространства«, «тип функции не может быть квалифицирован с использованием именованного адресного пространства«, «тип поля не может быть квалифицирован с использованием именованного адресного пространства«, «значение с фиксированной запятой не помещается в необходимом типе с фиксированной запятой«, «значение с фиксированной запятой не помещается в необходимом целочисленном типе«, «значение не помещается в необходимом типе с фиксированной запятой«, «параметр named_registers можно использовать только при компиляции C«, «Использование класса хранения named-register недопустимо.«, «%nd объявляется повторно с несовместимым классом хранения named-register.«, «не удается задать класс хранения named-register для переменной с псевдонимом«, «спецификатор хранения named-register уже используется«, «параметр «embedded_c« нельзя использовать вместе с другими параметрами для управления отдельными компонентами встроенного C«, «недопустимый каталог EDG_BASE: %s«, null, «недопустимая предварительно определенная запись макроса в строке %s: %s2«, «недопустимое имя режима макроса %sq«, «несовместимое повторное определение предварительно определенного макроса %sq«, «в повторном объявлении %nd отсутствует класс хранения named-register«, «именованный регистр слишком мал для типа переменной«, «Недопустимо объявлять массивы с классом хранения named-register.«, «нестандартное приведение const_cast к перечисляемому типу«, «параметр embedded_c можно использовать только при компиляции C«, «использование квалификатора именованного адресного пространства не допускается«, «недопустимый пустой инициализатор для массива с незаданной привязкой«, «функция возвращает тип неполного класса %t«, «%n уже инициализировано; не принадлежащий классу инициализатор будет пропущен«, «объявление скрывает %nd«, «не удается выделить память для параметра в именованном адресном пространстве«, «недопустимый суффикс для константы с фиксированной или плавающей запятой«, «не удается выделить память для регистровой переменной в именованном адресном пространстве«, «требуется «SAT« или «DEFAULT««, «%n не имеет соответствующего оператора-члена delete%s, который будет вызываться при возникновении исключения в процессе инициализации объектов, для которых выделена память«, «не удается объявить локальную переменную потока с помощью «dllimport« или «dllexport««, «тип возвращаемого значения функции не может быть квалифицирован с использованием именованного адресного пространства«, «не удается задать инициализатор для члена гибкого массива, элементы которого содержат нестандартный деструктор«, «не удается определить инициализатор для косвенного члена гибкого массива«, «недопустимый номер версии GNU: %s«, «атрибуты переменной, появляющиеся после инициализатора в круглых скобках, пропущены«, «результат этого приведения не может использоваться в качестве левостороннего значения«, «отрицание значения с фиксированной запятой без знака«, null, null, «имена регистра можно использовать только для регистровых переменных«, «переменные named-register не могут иметь тип void«, null, «параметры не могут иметь спецификаторы области видимости ссылок«, «несколько спецификаторов области видимости ссылок«, «спецификаторы области видимости ссылок могут использоваться только в функциях и переменных с внешним связыванием«, «повторное объявление не может привести к сужению области видимости ссылок«, «использование спецификатора области видимости ссылок в этом объявлении не допускается«, «нестандартное полное имя в объявлении глобальной области видимости«, «неявное преобразование 64-разрядного целочисленного типа в более короткий целочисленный тип (возможны проблемы, связанные с переносимостью)«, «явное преобразование 64-разрядного целочисленного типа в более короткий целочисленный тип (возможны проблемы, связанные с переносимостью)«, «преобразование из указателя в целочисленный тип аналогичного размера (возможны проблемы, связанные с переносимостью)«, null, «использование спецификатора дружественной функции в определении класса не допускается; спецификатор дружественной функции пропущен«, «локальное хранение переменных в потоке может использоваться только для статических и внешних переменных«, «несколько спецификаторов локального хранения переменных в потоке«, «виртуальный %n не определен и не может быть определен в другом месте, поскольку является членом неименованного пространства имен«, «знак возврата каретки в исходной строке лежит вне комментария или символьного (строкового) литерала«, «выражение должно иметь тип с фиксированной запятой«, «недопустимое использование спецификатора доступа пропущено«, «преобразование указателя в логическое значение«, «Преобразование указателя на элемент в логическое значение«, «спецификатор хранения пропущен«, «в шаблонах класса пропущены dllexport и dllimport«, «спецификации dllexport или dllimport базового класса отличаются от спецификаций в производном классе«, «при повторном объявлении не удается добавить dllexport или dllimport в %nod«, «dllexport или dllimport конфликтует с %nod; требуется dllexport«, «не удается определить сущность dllimport«, «для dllexport или dllimport требуется внешнее связывание«, «член класса, объявленного с использованием dllexport или dllimport, не может быть объявлен с использованием такого спецификатора«, «поле типа класса без интерфейса DLL используется в классе с интерфейсом DLL«, «нестандартное объявление члена в круглых скобках«, «пробел между знаками обратной косой черты и новой строки в месте соединения строк пропущен«, «dllexport или dllimport конфликтует с %nod; dllimport или dllexport отброшен«, «недопустимый член класса анонимного объединения — класс %t содержит запрещенную функцию-член«, «нестандартное приведение reinterpret_cast«, «позиционный спецификатор формата не может быть равен нулю«, «в локальном классе не может содержаться ссылка на тип массива переменной длины из включающей функции«, «член %nd уже содержит явный спецификатор dllexport или dllimport «, «использование массива переменной длины в типе возвращаемого значения не допускается«, «использование типа массива переменной длины в указателе на член типа %t не допускается«, «результат выражения оператора не может иметь тип, в котором используется массив переменной длины«, «триграфы не поддерживаются«, «атрибут %sq может использоваться только в функциях и переменных с внешним связыванием«, «строгий режим несовместим с обработкой пространства имен std в качестве псевдонима для глобального пространства имен«, «в расширении макроса «%s« %p«, «<НЕТ ДАННЫХ>«, ««, «[ расширение макроса «%d« не показано ]«, «в расширении макроса в %p«, «недопустимое имя символьного операнда %sq«, «ограничение символьного соответствия должно ссылаться на один из первых десяти операндов«, «использование __if_exists в этом контексте не поддерживается«, «блок __if_exists не закрыт в той области видимости, в которой он был открыт«, «локальная переменная потока не может быть динамически инициализирована«, «в результате преобразование отброшен квалификатор «__unaligned««, «некоторые значения перечислителя не могут быть представлены целочисленным типом, являющимся базовым для перечисляемого типа«, «использование аргумента по умолчанию в объявлении шаблона класса дружественной функции не допускается«, «символьный литерал, состоящий из нескольких знаков (возможны проблемы, связанные с переносимостью)«, «требуется тип класса, структуры или объединения«, «второй операнд offsetof должен быть полем«, «второй операнд offsetof не может быть битовым полем«, «не удается применить offsetof к члену виртуального базового класса«, «offsetof применяется к типу, отличному от класса стандартного макета«, «Использование аргументов по умолчанию в дружественном объявлении для функции-члена недопустимо.«, «Использование аргументов по умолчанию в дружественных объявлениях, не являющихся определениями, недопустимо.«, «повторное объявление функции %nd, ранее объявленной как дружественная функция с аргументами по умолчанию, не допускается«, «недопустимый квалификатор для %t (использование производного класса не допускается)«, «недопустимый квалификатор для определения класса %t«, «отсутствует предыдущий макрос push_macro для %sq«, «использование двухбайтового строкового литерала не допускается«, null, «использование %sq допускается только в C«, «__ptr32 и __ptr64 необходимо указывать после знака «*««, «одновременное применение __ptr32 и __ptr64 не поддерживается«, «список аргументов шаблона %sq должен соответствовать списку параметров«, «недопустимый неполный тип класса«, «сложные целые типы не поддерживаются«, «__real и __imag могут применяться только к комплексным значениям«, «__real или __imag применяется к действительному значению«, «%nd объявлено как deprecated (%sq)«, «недопустимое повторное объявление %nd«, «dllimport или dllexport применяется к члену неименованного пространства имен«, «__thiscall может использоваться только в объявлениях статических функций-членов«, «__thiscall не может использоваться в функции с параметром-многоточием«, «явная специализация %n должна предшествовать его первому использованию (%p)«, «тип запечатанного класса не может использоваться в качестве базового класса«, «повторяющийся модификатор класса«, «функция-член не может одновременно использовать модификаторы «abstract« и «sealed««, «запечатанный член не может быть чистой виртуальной функцией«, «невиртуальная функция не может быть объявлена с использованием модификатора «abstract« или «sealed««, «объявленная с использованием ключевого слова override функция-член не переопределят член базового класса«, «не удается переопределить запечатанный %nd«, «%nd было объявлено с использованием модификатора класса «abstract««, «в строке «, « из «, «с «, «ключевое слово«, «макроопределение«, «метка«, «параметр шаблона«, «тип«, «объединение«, «класс«, «структура«, «параметр шаблона template«, «шаблон«, «шаблон класса«, «перечисление«, «параметр«, «параметр обработчика«, «переменная«, «нетипизированный«, «константа«, «функцию«, «перегруженная функция«, «член«, «поле«, «пространство имен«, «именованный регистр«, «именованное пространство имен«, «шаблон функции«, «аргумент, основанный на шаблоне«, «аргументы, основанные на шаблоне«, « (объявлено «, «(в конце источника)«, «В конце источника«, «Строка«, «строка«, «столбец«, «замечание«, «Замечание«, «предупреждение«, «Предупреждение«, «ошибка«, «Ошибка«, «неустранимая ошибка«, «Неустранимая ошибка«, «ошибка в командной строке«, «Ошибка в командной строке«, «внутренняя ошибка«, «Внутренняя ошибка«, null, null, «Достигнут предел ошибок.«, «Внутренний цикл ошибки«, «Цикл при обработке критической ошибки.«, null, «временная«, «выходные данные предварительной обработки«, «вывод необработанных данных«, «перекрестная ссылка«, «промежуточный язык (1)«, «промежуточный язык (2)«, «промежуточный язык (3)«, «промежуточный язык (4)«, «промежуточный язык (5)«, «промежуточный язык (6)«, «промежуточный язык (7)«, «промежуточный язык (8)«, «промежуточный язык (9)«, null, null, null, null, null, «отсутствует флаг cannot-redefine«, «отсутствует режим после «,««, «отсутствует имя макроса«, «недопустимое значение cannot-redefine«, «повторяющийся модификатор функции«, «недопустимый знак для литерала char16_t«, null, «нераспознанное соглашение о вызовах %s; необходимо использовать одно из следующих:«, null, null, null, «базовый тип для перечисляемого типа должен быть целочисленным«, «некоторые константы перечислителя не могут быть представлены с использованием %t«, «использование %sq в текущем режиме не допускается«, «параметр type traits helpers можно использовать только при компиляции C++«, «для атрибута «sentinel« требуется параметр-многоточие«, «аргумент должен быть константным значением пустого указателя«, «недостаточное число аргументов значения sentinel«, «аргумент sentinel должен соответствовать параметру-многоточию«, «__declspec(implementation_key(…) может использоваться только между директивами #pragma start_map_region и #pragma stop_map_region«, «директива #pragma start_map_region уже активна: директива pragma пропущена«, «отсутствует активная директива #pragma start_map_region: директива pragma пропущена«, «%n нельзя использовать в качестве имени деструктора (требуется имя типа)«, «нестандартный пустой литерал расширенного символа обрабатывается как L«\0««, «использование имени типа не допускается«, «оператор удаления без аргументов размещения должен быть видим в классе с виртуальным деструктором«, «связывание имени конфликтует с предыдущим объявлением %nd«, «применение псевдонима привело к созданию цикла, включающего сущности с псевдонимами«, null, «переменные со статической длительностью хранения, для которых выделена память в отдельном регистре, не могут быть объявлены с использованием инициализатора«, «переменная, выделенная в конкретном регистре, должна быть элементарно копируемой«, «предварительно определенное значение %no отклонено«, null, «Тип класса не подходит для использования с указателями.«, null, «квалификатор анонимного объединения является нестандартным«, «квалификатор анонимного объединения игнорируется«, null, «__delspec(%s) игнорируется (не имеет значения для структуры С)«, «спецификаторы после запятой между объявлениями являются нестандартными«, «нестандартный спецификатор игнорируется«, «на объявлении перечисления, не являющемся определением, атрибуты игнорируются«, «объявление ссылки с «переменной« является нестандартным«, «объявление условия для массива всегда является «true««, «статическое объявление не удалось по причине %sq«, «атрибут видимости игнорируется, так как конфликтует с предыдущим объявлением«, «имя поля разрешается в несколько смещений — см. %nod1 и %nod2«, «%sq не является именем поля«, «значение метки случая уже есть в данном переключателе %p«, «функция элемента не может иметь внутреннего связывания«, «объявление скрывает встроенный %n«, «объявление перегружает встроенный %n«, «При компиляции более одной единицы трансляции параметр перечисления определений макроса указываться не может.«, «недопустимая круглая скобка после объявления %n (возможно, поврежденный список параметров, или недопустимый инициализатор)«, «круглые скобки вокруг строкового инициализатора являются нестандартными«, «__interface«, «переменная, объявленная с автоматическим спецификатором типа, не может находиться вне его собственного инициализатора«, «невозможно вывести тип «авто««, «инициализация с «{…}« не разрешена для типа «авто««, «тип «авто« не может находиться в типе массива верхнего уровня«, «тип «авто« не может находиться в типе функции верхнего уровня«, «элемент типа %t не может иметь инициализатор внутри класса«, «элемент с инициализатором внутри класса должен быть постоянной«, «невозможно вывести тип «авто« (требуется инициализатор)«, «тип «авто« является %t1 для данного объекта, но ранее являлся %t2«, «недопустимое объявление конструктора«, «Недопустимое использование квалификатора типа.«, «объединение не может быть абстрактным или запечатанным«, «тип «авто« здесь не разрешен«, «определение базового типа класса еще не завершено«, ««внешний шаблон« не может ссылаться на специализацию статического %nd«, ««внешний шаблон« не может следовать явному созданию экземпляра %n«, «__declspec(restrict) требуется функция возвращения типа указателя«, «параметр «report_gnu_extensions« допустим только в режимах GNU C и GNU C++«, «типы массива с переменной длиной являются нестандартными«, «Указатели являются нестандартными.«, «Синтаксис указателя является расширением GNU.«, «составные литералы являются нестандартными«, «выражения оператора являются расширением GNU«, «имя asm игнорируется для объекта, определенного ранее«, «атрибуты являются расширением GNU«, «расширенный синтаксис asm является функцией GNU«, «объявления asm «volatile« являются расширением GNU«, «Спецификаторы имени asm являются расширением GNU«, «квалификатор «__restrict« является нестандартным«, ««typeof« является расширением GNU«, «изменение размера подписи для определения типа является нестандартным«, «массивы с нулевой длиной являются расширением GNU«, «гибкие элементы массива являются нестандартными«, «атрибут «nonnull« ссылается на параметр, не являющийся указателем«, «аргумент для атрибута nonnull больше, чем число параметров«, «ни один параметр не имеет типа указателя«, «для параметра, помеченного атрибутом nonnull предоставлен нулевой аргумент«, «деструктор для %t1 был запрещен, так как деструктор для %t2 недоступен«, «необходим запрещенный деструктор для %t«, «подпрограмма является одновременно inline и noinline«, «недопустимая процедура cleanup«, «атрибут cleanup требует автоматической длительности хранения«, «атрибут cleanup не применяется к параметрам«, «процедура cleanup имеет недопустимый тип«, «вызов процедуры cleanup требует преобразование подозрительных конструкций«, «__sptr и __uptr должны следовать «*««, «нельзя указывать сразу __sptr и __uptr «, «расширяющее преобразование указателя из %t1 в %t2 расширяет бит знака«, «__sptr и __uptr не применимы к типам указателя на элемент.«, «Объявление оператора назначения копированием для %t было подавлено, так как %n является константой.«, «Объявление оператора назначения копированием для %t было подавлено, так как %n имеет ссылочный тип.«, «Объявление оператора назначения копированием для %t1 было подавлено, так как подавляется %t2.«, «Объявление оператора назначения копированием для %t1 было подавлено, так как %t2 является неоднозначным.«, «Объявление оператора назначения копированием для %t1 было подавлено, так как %t2 является недоступным.«, «объявление конструктора копий для %t1 было запрещено, так как %t2 был запрещен«, «объявление конструктора копий для %t1 было запрещено, так как %t2 является неоднозначным«, «объявление конструктора копий для %t1 было запрещено, так как %t2 недоступен«, «деструктор для %t1 не будет вызван, так как он недоступен, а деструктор для %t2 был запрещен«, «После определения в конце файла не следует точка с запятой или оператор объявления.«, «первый аргумент должен являться указателем на целое число или тип перечисления«, «синхронизированные операции допустимы только на объектах размера 1, 2, 4 или 8«, «дополнительные аргументы игнорируются«, ««=« предположительно следует за именем макроса %sq в определении командной строки«, «между именем макроса %sq и его заменяющим текстом необходим пробел«, «результат вызова не использован«, «атрибут «warn_unused_result« игнорируется, так как тип возврата пуст«, null, «dllimport/dllexport игнорируется при повторном объявлении с использованием квалифицированного имени«, «превышение допустимого числа символов в символьном литерале — лишние символы в начале игнорируются«, «%n не может быть объявлен как подставляемый после его определения %p«, null, null, «аргумент шаблона не может ссылаться на тип без связывания имени«, «virtual здесь игнорируется«, «шаблон аргумента не может ссылаться на тип массива с переменной длиной«, «универсальное имя символа не может обозначать замещающую точку кода«, «#include_next не может использоваться в файле основного источника«, «%no1 нельзя указывать во временном определении элемента — вместо этого ожидалось %no2 «, «атрибут %sq игнорируется на объявлении локальной функции«, «цепь с %sq в %n не создает допустимой лексемы«, «%no является неоднозначным (предполагается %n2)«, «квалификатор типа не разрешен на функции статического элемента«, «квалификатор типа не разрешен на конструкторе или деструкторе«, «квалификатор типа не разрешается на операторах new или delete«, «квалификатор типа не разрешен на функции не элементам«, «аргумент для %s имеет побочные эффекты, но не вычислен«, «нераспознанный вид источника Юникода (должен быть одним из следующих: UTF-8, UTF-16, UTF-16LE, UTF-16BE): %s«, «символ Unicode с шестнадцатеричным значением %s не может быть представлен в выводных данных до обработки«, «запрошенный приоритет конструктора/деструктора зарезервирован для внутреннего использования«, «нераспознанная директива GCC pragma«, «нераспознанная директива видимости GCC pragma«, «нераспознанный вид видимости«, «директива видимости pragma все еще была активна«, «нет совпадающей принудительной видимости«, «typeid незавершенного типа«, null, «массив %n должен иметь один элемент«, «атрибут vector_size требует арифметический или перечисляемый тип«, «размер вектора недопустимо велик«, «количество элементов в векторе должно быть равно степени числа два«, «размер вектора должен быть кратен размеру элемента«, «смешанные векторно-скалярные операции не разрешены«, «операция требует два вектора одного размера«, «размер вектора, зависящий от шаблона, не разрешается«, null, null, «атрибут vector_size не разрешен с типом сложного элемента«, null, «векторная операция требует идентичных типов элементов«, «векторная операция не применима к вектору с неинтегральным типом«, «не удается открыть %s файл %sq2«, «не удается открыть %s файл %sq2: %s3«, «предкомпилированный заголовок«, «предустановленный макрос«, «сгенерированный C«, «сгенерированный C++«, «источник«, «ошибка при записи в файл %s: %s2«, «не обычный файл«, «является каталогом«, «недопустимое имя файла«, «список определений«, «запрос на создание экземпляра«, «экспортированный шаблон«, «информация об экспорте«, «информация о шаблоне«, «IL вывод«, «преобразование сбрасывает квалификатор «__restrict««, «не удается получить сопоставленную память для %sq: %s2«, «квалификатор ограничения пропускается«, null, «массив элементов, содержащий гибкий элемент, является нестандартным«, «параметр шаблона не может иметь векторный тип«, «инициализация %n1 будет выполнена до инициализации %n2«, null, «тип наследования на спецификаторе перечисления игнорируется «, null, «модификатор на спецификаторе перечисления игнорируется «, «символ идентификатора не может быть представлен в Unicode«, «имя заголовка содержит символы, которые не могут быть представлены в Unicode«, «%sq не является допустимым именем региональных настроек«, «объявление пустого списка параметров с помощью шаблонного параметра является нестандартным«, «параметры лямбд могут быть использованы только при компиляции С++«, «явный захват совпадает с умолчаниями«, «%n не является переменной«, «переменная со статической длительностью хранения не может быть записана в лямбду«, ««this« невозможно записать ссылкой«, ««this« нельзя использовать внутри тела данной лямбды«, «на элемент анонимного объединения внешней области нельзя ссылаться внутри тела лямбды«, «на локальную переменную со вложенной функцией нельзя ссылаться внутри тела лямбды, если она не находится в списке записей«, «недопустимая ссылка на локальную переменную внешней области в теле лямбды«, «локальная переменная вне текущей функции не может быть записана«, «на вложенную функцию «this« нельзя ссылаться внутри тела лямбды, если она не находится в списке записей«, null, «зафиксированная лямбдой переменная типа %t1 не может быть скопирована в поле показатели класса типа %t2«, «недопустимый каталог шаблона: %s«, «ошибка«, «ошибки«, «неустранимая ошибка«, «критические ошибки«, «и«, «обнаружена(ы) в компиляции «%s«.«, «обнаружена(ы) в данной компиляции.«, «значение перечисления находится вне диапазона базового типа (%t)«, ««\» с пробелом не является разрывом строки«, «dynamic_cast не может быть выполнен без информации о типе во время выполнения, так как она отключена«, «преобразование в %t неоднозначно; выбрано прямое основание«, «внутренний буфер слишком большой«, «использован обработчик исключений C++, но семантика уничтожения исключений не задана«, «квалификатор типа игнорируется на конструкторе«, «переменная, записанная лямбдой, не может иметь тип, включающий массив с переменной длиной«, «преобразование между несовместимыми типами вектора«, «требуется «{«, вводящая тело лямбды«, «параметр ссылок rvalue может быть использован только при компиляции С++«, «Квалификатор типа не разрешен в лямбде.«, «имя не может повторяться в списке записи«, «явные аргументы шаблона игнорируются«, «лямбда не разрешена в выражении с константой«, «%t не является типом класса«, ««delete«, примененный к типу указатель-в-массив, рассматривается как delete[]«, ««delete«, примененный к типу указатель-в-массив, является нестандартным; рассматривается как delete[]«, «невозможно вызвать %n с данным списком аргументов«, «ссылка rvalue не может быть привязана к lvalue«, «параметр шаблона, не являющегося шаблоном типа, не может иметь тип ссылки rvalue«, «Квалификаторы типа игнорируются (базовый тип является ссылкой).«, «Элемент %n, объявленный с использованием локального типа, должен быть определен в данной единице трансляции.«, «Элемент %n, объявленный с использованием типа без связывания, должен быть определен в данной единице трансляции.«, «операнд ссылки rvalue dynamic_cast должен иметь завершенный тип класса«, ««= default« может находиться только в конструкторах по умолчанию, конструкторах копирования, перемещения, операторах назначения копирования, перемещения, а также в деструкторах«, ««= delete« может появляться только с первым объявлением функции«, «на %npd нельзя ссылаться, так как эта функция удалена«, «лямбда не разрешена в неоцененном выражении«, «__builtin_va_arg_pack/__builtin_va_arg_pack_len может находиться только в подстановочной функции с параметром многоточия«, «Недопустимо указывать «= default« в дружественном объявлении.«, «требуется ключевое слово C++«, null, «смещение не постоянно«, «нераспознанный тип комментария #pragma %sq«, «параметр управления, контролирующий, является ли «auto« спецификатором типа, может быть использован только при компиляции С++«, «Возможность контролировать, является ли «auto« классом хранения, допустима только при компиляции кода на С++.«, «Невозможно одновременно отключить значения «auto« для описателя типа и описателя класса хранения.«, «недопустимая строка в комментарии #pragma«, «удаленная функция переопределяет не удаленную %n«, «не удаленная функция переопределяет удаленную %n«, «на конструктор по умолчанию для %t нельзя ссылаться, так как эта функция удалена«, «ссылка rvalue не разрешена как тип перехвата«, «Аргументы по умолчанию для %n не совместимы с объявлением в другой единице трансляции.«, «аргументы по умолчанию для %n различались во время компиляции %sq«, null, «Инициализатор для %n отличается в другой единице трансляции.«, «инициализатор для %n отличался во время компиляции %sq«, «Указатель для типа, зависимого от шаблона, не разрешен.«, «нераспознанный вид согласования«, «требуется «вкл« или «выкл««, «стек #pragma conform(forScope) является пустым«, «предыдущие значения #pragma conform(forScope) не совпадают с %sq«, «поведение forScope является нестандартным«, «поведение forScope является стандартным«, «не удалось удалить функцию «main««, «Квалификаторы типа здесь не имеют смысла.«, «недопустимый тип для оператора назначения по умолчанию«, «шаблоны функции не удалось установить как умолчания«, «недопустимый тип для конструктора, установленного по умолчанию«, «вызов функции требует один аргумент«, «вызов функции требует реальный аргумент с плавающей точкой«, «конструктор копий с аргументом по умолчанию не может быть установлен по умолчанию«, «объявленная ранее функция не может быть удалена«, «пустой зависимый оператор в операторе if«, «пустой зависимый оператор в конструкции «else« оператора if«, «на %nfd, требуемую для уничтоженной копии, нельзя ссылаться, так как эта функция удалена«, «нестандартный первый параметр %t для «main«, требуется «int««, «нестандартное количество параметров для «main«, требуется 0 или два параметра«, «нестандартный второй параметр %t для «main«, требуется «char *[]« или «char **««, «%sq был указан как системный и несистемный каталог включения — несистемная запись будет пропущена«, «параметр управления, контролирующий перемещение конструкторов и операторов назначения перемещения, может быть использован только при компиляции С++«, null, null, «завершающий возвращаемый тип требует наличия спецификатора «auto««, «Конечный тип возвращаемого значения недопустим во вложенном операторе объявления.«, «Оператору объявления функции с конечным типом возвращаемого значения должен предшествовать простой описатель типа «auto«.«, «функция «auto« требует наличия завершающего возвращаемого типа«, «у шаблона члена не может быть чистого спецификатора«, «слишком длинный строковый литерал — лишние знаки игнорируются«, «параметр для управления ключевым словом nullptr может использоваться только при компиляции C++«, «std::nullptr_t, преобразованный в логический тип«, null, null, «атрибут %sq не допускает использования пустого списка аргументов«, «атрибут указан более одного раза«, «атрибут %sq не применяется в этом случае«, «атрибут %sq не применяется к битовым полям«, «атрибут %sq требует битового поля«, «атрибут %sq не применяется к функциям-членам«, «атрибут %sq требует функции-члена«, «атрибут %sq не применяется к виртуальным функциям«, «атрибут %sq требует виртуальной функции«, «атрибут %sq не применяется к чистым виртуальным функциям«, «атрибут %sq требует чистой виртуальной функции«, «атрибут %sq не применяется к регистровым переменным«, «атрибут %sq требует регистровой переменной«, «атрибут %sq отсутствовал в исходном объявлении«, «использование атрибутов не допускается«, «атрибут %sq должен присутствовать в объявлении класса«, «final применено к чистой виртуальной функции«, «невозможно переопределить final %nd«, «static %n обрабатывается как extern, поскольку несмотря на наличие ссылки определение отсутствует«, «параметр для включения встраивания в стиле GNU-C89 можно использовать только при компиляции C«, «функция ранее была объявлена без атрибута gnu_inline«, «атрибут gnu_inline игнорируется в случае функций, не являющихся встроенными«, «%n ранее объявлена без атрибута carries_dependency«, «недопустимый инициализатор массива %n«, «при сборке библиотеки времени выполнения необходимо указывать режим C++11 или C++14«, «атрибут %sq не применяется к типам функций«, «атрибут %sq требует типа функции«, «атрибут %sq не применяется к нестатическим членам-функциям«, «атрибут %sq не применяется к автоматическим переменным«, «атрибут %sq требует автоматической переменной«, «атрибут %sq не применяется к переменным или функциями с внешним связыванием«, «атрибут %sq требует локальной переменной«, «атрибуты здесь игнорируются«, «атрибут не применяется ни к каким сущностям«, «неверная замена аргумента атрибута«, «аргумент атрибута tls_model должен иметь значение global-dynamic, local-dynamic, initial-exec или local-exec«, «объявление %p задавало другой аргумент tls_model«, «атрибут %sq не применяется к встроенным функциям«, «атрибут %sq требует встроенной функции«, «в обоих именах файлов в директиве pragma include_alias должен использоваться один и тот же символ-разделитель«, «сравнение знаковых и беззнаковых операндов«, «атрибут %sq игнорируется в безымянном типе«, «атрибут %sq игнорируется, поскольку отсутствует определение«, «размещение потока несовместимо с предыдущим объявлением %nd«, «ссылка на эту локальную переменную охватывающей функции не может содержаться в теле этого лямбда-выражения, поскольку охватывающее лямбда-выражение не допускает неявной передачи«, «этот аргумент атрибута содержит непарные фигурные, квадратные или обычные скобки«, «при вызове __builtin_fpclassify необходимо указать пять целочисленных аргументов, после которых следует один аргумент с плавающей запятой«, «последний аргумент в вызове __builtin_fpclassify должен иметь тип с плавающей запятой«, «значение выравнивания не может быть меньше значения выравнивания по умолчанию«, «не допускается явное создание экземпляров атрибутов«, «атрибут %sq не применяется к определению«, «атрибут %sq требует определения«, «В дружественных объявлениях, не являющихся определениями, не могут присутствовать стандартные атрибуты.«, «указанное выравнивание (%s1) отличается от выравнивания (%s2), заданного в предыдущем объявлении«, «атрибут выравнивания также должен присутствовать в определении %p«, «%n не может использоваться в значении type-id для alias-declaration«, «шаблон псевдонима«, «%t не может быть прозрачным, поскольку первое поле имеет тип с плавающей запятой«, «%t не может быть прозрачным, поскольку первое поле является битовым«, «виртуальная функция класса base_check переопределяет член базового класса, но не имеет атрибута override«, «атрибут hiding задан в объявлении, которое не скрывает объявление базового класса«, «атрибут hiding задан в объявлении, ссылка на которое определяется с помощью объявления using %p«, «атрибут hiding является обязательным в объявлении (в классе base_check), которое скрывает %nd«, «Определение %n в этой единице трансляции отсутствует, но элемент зависит от локального типа.«, «Определение %n в этой единице трансляции отсутствует, но элемент зависит от типа без связывания.«, «Атрибут %sq отсутствует в другой единице трансляции.«, «Атрибут %sq конфликтует с другой единицей трансляции.«, «параметр nonstd_gnu_keywords допустим только в режимах GNU C и GNU C++«, «использование переменной const в константном выражении нетипично для C«, «невозможно задать инициализатор для члена гибкого массива с автоматически определяемой длительностью хранения«, null, «тип класса final не может использоваться в качестве базового класса«, «экспортированные шаблоны более не являются частью стандартного языка C++«, «Зависимый от шаблона указатель не разрешен.«, «второй операнд смещения не может быть полем со ссылочным типом«, «временные объекты с долгим сроком жизни несовместимы с другими запрашиваемыми более новыми возможностями языка«, «строковый литерал с расширенными символами не будет приводиться в диагностических данных«, «отсутствуют аргументы атрибута %sq«, «для параметров «c++11« и «c++11_sfinae« требуется другая конфигурация компилятора«, «пакет параметров шаблона находится не в конце списка параметров«, «не допускается использование здесь объявление пакета параметров«, «у пакета параметров не может быть значения по умолчанию«, «C++/CLI можно включить только в режиме Microsoft C++«, «нельзя использовать «value__« в качестве имени константы перечислителя (в данном контексте это зарезервированное имя)«, «в типе перечисления, в основе которого лежит логический тип данных, требуется явное значение перечислителя«, null, «ссылка на пакет параметров %sq присутствует, однако пакет не раскрыт«, «при раскрытии пакетов никакие пакеты аргументов не используются«, «число элементов в пакетах %sq и %sq2 неодинаково«, null, «не допускается использовать атрибут vector_size в типе перечисления«, «свойство не может одновременно быть статическим и виртуальным«, «индексируемое свойство не может быть тривиальным«, «это объявление не может располагаться в определении свойства«, «тип квалифицированной функции нельзя использовать для объявления функций доступа«, «у функции доступа не может быть параметра-многоточия«, «метод доступа get уже объявлен для этого свойства %p«, «метод доступа set уже объявлен для этого свойства %p«, «у метода доступа get не может быть параметров«, «возвращаемый тип метода доступа get не соответствует типу свойства«, «возвращаемым типом метода доступа set должен быть тип void«, «свойство не может объявлять пустой список индексов«, «индекс свойства не может относиться к типу void«, «тип индекса не совпадает с соответствующим параметром метода доступа set«, «тип индекса не совпадает с соответствующим параметром метода доступа get«, «в методе доступа set отсутствует тип индекса«, «в методе доступа get отсутствует тип индекса«, «в методе доступа set отсутствует параметр значения«, «слишком много параметров у функции доступа«, «последний параметр метода доступа set не соответствует типу свойства«, «для %sq требуется режим C++/CLI«, «ошибка в API-интерфейсе Win32 «%s«: %s«, «#using можно использовать только в глобальной области видимости«, «метаданные«, «имя члена %sq зарезервировано для %nd«, «ожидалась скобка «[««, «для режима %[C++/CLI] требуется, чтобы microsoft_version >= 1600«, «свойство с индексом по умолчанию не может быть статическим«, «метод доступа к свойству не может одновременно быть статическим и виртуальным«, «спецификатор видимости верхнего уровня не может использоваться в объявлении вложенного уровня«, «для спецификатора видимости верхнего уровня требуется определение типа«, «тривиальное свойство не может относиться к ссылочному типу«, «тривиальное свойство не может относиться к типу const или volatile«, «переменная %nd была ранее объявлена как другой тип перечисления«, «полученная лямбда-выражением переменная не может относиться к типу класса %[managed]«, «в классах %[managed] не допускается переопределение виртуальных функций с ковариантным типом возвращаемых значений«, «использование массивов дескрипторов не допускается«, «использование дескрипторов массивов не допускается«, «использование дескрипторов функций не допускается«, «использование дескриптора для типа void не допускается«, «использование дескриптора для дескриптора, указателя или ссылки не допускается«, «отслеживание ссылок на функции не допускается«, null, «поле не может быть отслеживаемой ссылкой«, «отслеживаемую ссылку невозможно таким образом объединить с обычной ссылкой«, «переменная со статической длительностью хранения не может относиться к типу ссылочного класса«, «класс %[managed] не может быть неименованным«, «класс %[managed] не может быть локальным«, «переменная %nd была ранее объявлена как относящаяся к другому классу«, «переменная %nd была ранее объявлена как относящаяся к другому шаблону классов«, «элементы данных литерала могут быть только членами классов %[managed]«, «данные-члены литерала должны быть инициализированы«, «не допускается использование данных-членов литерала типа %t«, «const не влияет на данные-член литерала«, «элементы данных initonly могут быть только членами классов %[managed]«, «const не влияет на данные-член initonly«, «у %nd нет метода доступа get«, «у %nd нет метода доступа set«, «у статического конструктора не может быть параметров«, «у статического конструктора не может быть шаблона членов«, «не допускается использовать составное значение lvalue в качестве выходного операнда asm«, «свойства могут быть членами только классов %[managed]«, «не допускается использовать квалификатор типа для функции-члена класса %[managed]«, «не допускается использовать обычные указатели на классы ссылок или классы интерфейсов %[C++/CLI]«, «не допускается использовать обычные ссылки на классы ссылок или классы интерфейсов %[C++/CLI]«, «спецификатор переопределения не задает имя функции-члена базового класса«, «спецификатор переопределения задает невиртуальный член %nd«, «функция-член переопределяет функцию %nd1, которая уже переопределена функцией %nd2«, «разрешается использовать не более одного спецификатора видимости«, «используемый для определения делегата тип %t не является типом функции«, «типы членов делегатов могут быть членами только классов %[managed]«, «не допускается использование отслеживаемых ссылок на типы делегатов«, «здесь не допускается использование типов делегатов«, «в результате раскрытия этого пакета получен пустой список выражений, в то время как здесь требуется выражение«, «событие не может одновременно быть статическим и виртуальным«, «события могут быть членами только классов %[managed]«, «это объявление не может располагаться в определении события«, «тип события должен быть типом дескриптора делегата«, «метод доступа add уже объявлен для этого события %p«, «метод доступа remove уже объявлен для этого события %p«, «метод доступа raise уже объявлен для этого события %p«, «метод доступа к событию не может одновременно быть статическим и виртуальным«, «возвращаемым типом методов доступа add и remove должен быть void«, «в методе доступа к событию отсутствует параметр значения«, «слишком много параметров у функции доступа«, «тип %t1 параметра метода доступа к событию не соответствует типу события (%t2)«, «тип метода доступа raise не соответствует типу вызова делегата события«, «определение события должно включать методы доступа add и remove«, «функция статического преобразования должна принимать ровно один аргумент«, «статический оператор должен иметь параметр типа T, T&, T%% или T^ с T = %t«, «операнд оператора sizeof… должен представлять собой имя пакета параметров«, «оператор sizeof… можно использовать только в шаблонах с переменным числом аргументов«, «здесь не может использоваться имя события«, «не допускается использование дескрипторов классов не %[managed]«, «не допускается использование дескрипторов типов перечислений без области действия«, «не допускается использовать атрибут property в классах %[managed]«, «использование чистого спецификатора («= 0«), за которым следует определение, не является стандартным подходом«, «здесь нельзя использовать тип %[managed] nullptr«, «оператор «&« не может использоваться для получения адреса объекта типа ссылочного класса«, «не допускается использование массива класса %[managed]«, «переменная со статической длительностью хранения не может быть дескриптором или относиться к типу отслеживаемой ссылки«, «получаемая лямбда-выражением переменная не может быть дескриптором или отслеживаемой ссылкой«, «массив параметров %[C++/CLI] требует дескриптора типа одномерного массива %[cli::array]«, «не удалось импортировать метаданные из файла %sq«, «пространство имен cli не может быть расширено«, «тип элемента массива %[cli::array] должен быть дескриптором или типом значения«, «недопустимое число измерений для типа %[cli::array]«, «cli::interior_ptr/cli::pin_ptr должен указывать на стандартный класс, класс значений, целое число, дескриптор или стандартный указатель«, «%t не может быть членом класса«, «не допускается использование параметра типа cli::pin_ptr«, «недопустимое объявление метода завершения«, «у метода завершения может не быть параметров«, «Использование квалификатора типа недопустимо в методе завершения.«, «для методов завершения нельзя задавать возвращаемый тип«, «не допускается использование объявления using для именования метода завершения«, «имя метода завершения должно быть полным«, «квалификатор имени метода завершения %t1 не соответствует типу %t2«, «нельзя использовать %n для именования метода завершения (имя типа является обязательным)«, «недопустимое имя метода завершения для типа %t«, «ссылка метода завершения неоднозначна — можно использовать как %n1, так и %n2«, «метод завершения может быть только членом класса ссылки«, null, «тип, используемый в качестве метода завершения, не соответствует типу %t«, «метод завершения для данного типа не существует«, «оператор «%%« можно применять только к объекту типа класса %[managed]«, «не допускается использование указателя, дескриптора или ссылки на cli::interior_ptr«, «не допускается использование указателя, дескриптора или ссылки на cli::pin_ptr«, «не допускается использование указателя или ссылки на массив %[C++/CLI]«, «не допускается использование здесь типа массива %[C++/CLI]«, «ссылочный класс %[C++/CLI] может быть производным только от ссылочного класса или классов интерфейсов«, «класс значений %[C++/CLI] может быть производным только от классов интерфейсов«, «класс интерфейса %[C++/CLI] может быть производным только от классов интерфейсов«, «класс ссылки может иметь не более одного прямого базового класса ссылки (%t уже является таким базовым классом)«, «стандартный класс не может быть производным от класса %[managed]«, «класс %[managed] не может содержать виртуальный базовый класс«, «класс %[managed] не может содержать базовый класс private или protected«, «модификатор override требует объявления виртуальной функции с явно указанным ключевым словом virtual«, «модификатор abstract требует объявления виртуальной функции с явно указанным ключевым словом virtual«, «модификатор sealed требует объявления виртуальной функции с явно указанным ключевым словом virtual«, «именованный спецификатор override требует объявления виртуальной функции с явно указанным ключевым словом virtual«, «не допускается использование возвращаемого типа cli::pin_ptr«, «атрибут %sq применим только в режиме %[C++/CLI]«, «простая (неотслеживаемая) ссылка не может связываться с сущностью в управляемой куче«, «переносимая сборка«, ««%s« не загружается из сборок по умолчанию«, «синтаксис инициализации списков является функцией C++11«, «операнд операции sizeof не может относиться к типу ссылочного класса или типу классов интерфейсов«, «недопустимое число индексов для этого типа %[cli::array]«, «Указатель на элемент недопустим для класса %[managed].«, «закрытая виртуальная функция-член класса %[managed] не является sealed«, «не допускается использование модификатора для деструктора«, «не допускается использование модификатора для метода завершения«, «модификатор virtual не влияет на деструктор класса %[managed]«, «ключевое слово new или override является обязательным, поскольку это объявление соответствует %nd«, «ключевое слово new или virtual является обязательным, поскольку это объявление соответствует %nd«, «ключевые слова new и override являются недопустимыми, поскольку соответствующий %nd является членом интерфейса«, «модификатор new без соответствующего члена базового класса ссылки«, «переопределение %nd с ограничением доступа«, «не удается инициализировать ссылку типа %t1 со значением типа %t2«, «конструктор копий нельзя объявлять в классе значения«, «конструктор по умолчанию нельзя объявлять в классе значения«, «деструктор нельзя объявлять в классе значения«, «оператор назначения нельзя объявлять в классе значения«, «класс %t, не являющийся классом значения, не может быть членом класса значения«, «для параметра cppcli требуется другая конфигурация компилятора«, «спецификации исключений не допускаются в функциях-членах классов %[managed]«, «в классе %[managed] нельзя объявлять дружественные члены«, null, null, «локальное определение класса не допускается в функции-члене класса %[managed]«, «локальное лямбда-выражение не допускается в функции-члене класса %[managed]«, «у функции-члена типа интерфейса %[C++/CLI] не может быть определения«, «определение свойства должно включать по крайней мере один метод доступа (get или set)«, «свойство с индексацией по умолчанию конфликтует с %nd«, «%n1 невозможно использовать, поскольку перед ним находится пакет параметров, и не может быть выведено из параметров %n2«, «раскрытие этого пакета привело к появлению более чем одного выражения, в то время как здесь требуется одно выражение«, «тип должен соответствовать System::Boolean, System::Byte, System::SByte, System::Int16, System::UInt16, System::Int32, System::UInt32, System::Int64 или System::UInt64«, «вызов объекта типа дескриптора без соответствующего оператора operator() или без функций преобразования в тип указателя на функцию«, «Объявление пакета параметров без имени не может быть в круглых скобках.«, «шаблоны с переменным числом аргументов можно включать только при компиляции кода C++«, «определение свойства конфликтует с %nd«, «перегруженное свойство«, «свойство«, «у универсального параметра не может быть значения по умолчанию«, «у универсальных элементов могут быть только параметры типов«, «для использования с операторами «for each« тип %t должен предоставлять нестатическую функцию-член %sq«, «в инструкции «for each« нельзя использовать член %n, поскольку он является статическим«, «в инструкции «for each« никакой экземпляр %no не вызывается с пустым списком аргументов«, «в инструкции «for each« нельзя использовать функцию-член MoveNext, поскольку ее возвращаемый тип является недопустимым«, «инструкцию «for each« нельзя применять к выражению типа %t«, «для использования в инструкциях «for each« тип %t должен поддерживать неиндексируемое свойство %sq«, null, «%t2 не является допустимым перечислителем этого оператора «for each« (возвращается методом GetEnumerator типа %t1)«, «требуется «in««, «у класса %t нет подходящего оператора назначения (после синтеза операторов)«, «%sq не является универсальным параметром«, «%sq не является универсальным параметром списка универсальных параметров, находящегося на самом глубоком уровне вложенности«, «недопустимое универсальное ограничение«, «недопустимое использование члена-события (разрешены только операции подписки, отмены подписки и вызова)«, «не допускается вызывать событие без метода доступа raise«, «для событий допустимы только операторы «+=« и «-=««, «не допускается использование typeid типа %[managed]«, «не допускается использование typeid типа указателя %[managed]«, «имя, указанное после «::typeid«, должно быть именем типа«, «член %sq этого типа зарезервирован в классе %[managed] — предполагался деструктор?«, «член %sq этого типа зарезервирован в классе %[managed] — предполагался метод завершения?«, «%[System]::IDisposable::Dispose отсутствует или является недопустимым«, «%[System]::Object::Finalize отсутствует или является недопустимым«, «%n не переопределяет %[System]::Object::Finalize«, «операндом оператора dynamic_cast дескриптора должен быть дескриптор типа полного класса«, «операндом оператора dynamic_cast отслеживаемой ссылки должно быть значение lvalue типа полного класса«, «тип в приведении dynamic_cast к дескриптору или типу отслеживаемой ссылки должен ссылаться на полный класс«, «невозможно привести внутренний указатель к собственному указателю«, «операторы явного преобразования можно объявлять только в типах ссылочных классов и классов значений«, «оператор явного преобразования не может быть виртуальным«, «выражение должно относиться к арифметическому типу или типу перечисления без области видимости«, «выражение должно относиться к арифметическому типу, типу перечисления без области видимости или типу указателя«, «выражение должно относиться к целочисленному типу или типу перечисления без области видимости«, «выражение должно относиться к целочисленному типу, типу перечисления без области видимости или типу с фиксированной запятой«, «Встроенный бинарный оператор, применяемый к ограниченному перечислению, требует два операнда одного типа.«, «с помощью %[gcnew] невозможно выделить сущность типа %t«, «оператор %[gcnew] не допускает использования синтаксиса размещения«, «оператор new можно использовать только с типами простых значений«, «оператор new нельзя применять к классам %[managed] (вместо него следует использовать %[gcnew])«, «оператор new невозможно применять к типам дескрипторов«, «у оператора %[gcnew] для массива %[C++/CLI] должен быть инициализатор new или инициализатор массива«, «инициализатор массива можно использовать только для инициализации массива типа %[C++/CLI]«, «оператор %[gcnew] не допускает использования auto«, «слишком много границ массивов«, «слишком мало границ массивов«, «недостаточно аргументов для %nf«, «лишние аргументы для %nf«, «универсальный класс«, «никакое из объявлений %nf не принимает указанное число универсальных аргументов«, «недопустимый инициализатор делегата — требуется функция«, «недопустимый инициализатор делегата — типу делегата соответствует более одной функции«, «недопустимый инициализатор делегата — функция не соответствует типу делегата«, «недопустимый инициализатор делегата — помимо функции требуется объект«, «недопустимый инициализатор делегата — функция не является членом класса %[managed]«, «недопустимый инициализатор делегата — для указанной функции не требуется объект«, «недопустимый инициализатор делегата — объект имеет тип %t1, в то время как ожидается тип %t2«, «не допускается получение адреса функции-члена класса %[managed]«, «недопустимый инициализатор делегата — ожидалось «(<адрес_функции>)« или «(<дескриптор_объекта>, <адрес_члена>)««, «классу не удается реализовать член интерфейса %nd«, «оператор %[gcnew] нельзя использовать для выделения собственного массива«, «класс интерфейса %[C++/CLI] не может объявлять оператор назначения«, «класс интерфейса %[C++/CLI] не может быть запечатанным«, null, «объявление деструктора или метода завершения не может включать именованный спецификатор переопределения«, «спецификатор переопределения не может применяться к деструктору или методу завершения«, «именованный спецификатор переопределения может применяться только в классах %[managed]«, «ни один из членов, помеченных именованным спецификатором переопределения, не соответствует типу данного члена«, «объявление статического конструктора не может включать именованный спецификатор переопределения«, «тип ограниченного перечисления должен иметь имя«, «не допускается передача управления в блок finally«, «Оператор return внутри блока finally недопустим.«, «для блока try требуется как минимум один обработчик или одно предложение finally«, «дескриптор должен создавать объект %[managed]«, «дескриптор должен перехватывать объект %[managed]«, «инструкцию break нельзя помещать в блок finally«, «инструкцию continue нельзя помещать в блок finally«, «при перегрузке индексации нельзя использовать встроенную функцию offsetof«, «повторяющееся ограничение«, «более одного ограничения класса: %t1 и %t2«, «более одного предложения ограничения для %n«, «у статических данных-членов initonly должен быть инициализатор, или они должны инициализироваться в статическом конструкторе«, «атрибуты GNU в повторном объявлении шаблона ни на что не влияют«, «атрибуты GNU в повторном объявлении шаблона ни на что не влияют (вместо них применяются атрибуты исходного объявления %p)«, «массив параметров %[C++/CLI] должен быть последним параметром«, «у функции с массивом параметров %[C++/CLI] не может быть аргументов по умолчанию«, «после массива параметров %[C++/CLI] не может располагаться параметр-многоточие«, «не допускается использовать массив параметров %[C++/CLI] в списке параметров функции оператора«, «здесь не допускается использование __inline и __forceinline«, «элемент данных не может относиться к типу класса интерфейса %[C++/CLI]«, «переменная не может относиться к типу класса интерфейса %[C++/CLI]«, «параметр не может относиться к типу класса интерфейса %[C++/CLI]«, «возвращаемый тип функции не может быть типом класса интерфейса %[C++/CLI]«, «не допускается использование массивов типа универсального параметра«, «не допускается использование указателя, дескриптора или ссылки на тип универсального параметра«, «поле initonly не может иметь тип ссылочного класса«, «ссылка не может быть привязана к полю initonly«, «не допускается получение адреса поля initonly«, «поле initonly может изменяться только конструктором экземпляра или содержащим его классом«, «статическое поле initonly может изменяться только статическим конструктором или содержащим его классом«, «функция-член будет вызываться для копии поля initonly«, «выражение должно иметь тип указателя или дескриптора, но имеет тип %t«, «конструктор перемещения или оператор назначения перемещения используется для копирования сюда значения lvalue, что может привести к потере исходного объекта«, «для выбора члена в универсальной сущности %[C++/CLI] должен использоваться синтаксис «->«, а не «.««, «тип ссылочного класса не может быть производным от %t«, «универсальный класс должен быть %[managed] (т. е. ссылочным классом, классом значения или классом интерфейса)«, «запечатанный класс не может использоваться в качестве ограничения«, «тип в операторе dynamic_cast не может быть универсальным типом, который может быть типом значения«, «универсальное имя символа должно обозначать допустимую точку кода«, «универсальные ограничения не соответствуют ограничениям %nd«, «__базовый_тип применяется только к типам перечисления«, «для этого приведения ожидалось только одно выражение операнда«, «Символ Юникода с шестнадцатеричным значением %s не может быть представлен с помощью системной кодовой страницы по умолчанию«, «Нестандартное преобразование связанного указателя на элемент в указатель на функцию«, «спецификатор доступа %s1 устарел — рекомендуется использовать %s2«, «не допускается использование статической функции доступа в определении нестатического свойства или события«, «%t одновременно содержит ограничения класса ссылки и класса значений«, «%t1 и %t2 включают циклические ограничения типа с атрибутом naked«, «%t не является допустимым ограничением типа«, «предварительно скомпилированный файл заголовка %sq не используется (поскольку является неполным)«, «%t не является допустимым универсальным аргументом«, «атрибут assembly_info применен к недопустимому типу«, «%t1 не соответствует ограничению класса ссылки универсального параметра %t2«, «%t1 не соответствует ограничению класса значений универсального параметра %t2«, «%t1 не соответствует ограничению %[gcnew] универсального параметра %t2, поскольку является абстрактным«, «%t1 не соответствует ограничению %[gcnew] универсального параметра %t2, поскольку не содержит открытый конструктор по умолчанию«, «универсальный параметр %t1 не соответствует ограничению %[gcnew] универсального параметра %t2, поскольку не содержит ограничение %[gcnew]«, «%t1 не соответствует ограничению типа %t3 универсального параметра %t2«, «ограничение универсального параметра %t отличается от предыдущего объявления (%p)«, «член класса %[managed] не может быть стандартным массивом«, «член класса не %[managed] не может быть дескриптором«, «член класса не %[managed] не может быть отслеживаемой ссылкой«, «небезопасный оператор reinterpret_cast дескриптора«, «аргумент шаблона не может ссылаться на параметр универсального типа«, «в этом операторе подстрочного знака не разрешен список выражений (заключите в скобки оператор запятой верхнего уровня)«, «выражение должно иметь тип указателя на объект или дескриптора массива %[C++/CLI], но имеет тип %t«, «нераспознанный атрибут«, «член класса %[managed] не может относиться к типу класса не %[managed]«, «член класса не %[managed] не может содержать тип ссылочного класса или класса интерфейса«, «in «, «делегат нельзя объявить как шаблон«, «универсальный класс нельзя явно специализировать«, «универсальный класс нельзя объявить в шаблоне класса«, «шаблон нельзя объявить в универсальном классе«, «поле литерала нельзя объявить как static«, «long float не является стандартным выражением — используйте вместо него double«, «стандартный класс нельзя вложить в класс %[managed]«, «использование __clrcall возможно только в режиме C++/CLI«, «__clrcall не разрешается использовать для функций с параметром-многоточием«, «%sq здесь не разрешено«, «для переопределения %nd нельзя использовать тривиальное свойство или событие«, «ожидалось имя переменной итератора«, «тип итератора в этом операторе «for each« — %t, что не является ни типом указателя, ни типом класса, схожим с итератором«, «тип итератора в этом операторе «for each« — %t, что не является ни типом указателя, ни типом класса, схожим с итератором«, «тип итератора в этом операторе «for each« — %t, что не является ни типом указателя, ни типом класса, схожим с итератором«, «для этого поля с типом класса %t, не относящимся к стандартному макету, атрибут упаковки в родительском типе игнорируется«, «%nd не реализован, поскольку данное объявление не является открытым и не содержит именованный спецификатор переопределения«, «в этом объявлении отсутствует атрибут gnu_inline, указанный в предыдущем объявлении %p«, «функция-член класса %[managed] не может содержать параметр-многоточие«, «ранее объявленный %n не является допустимым итератором оператора for each«, «соглашение о вызовах пропускается, поскольку тип функции включает универсальный параметр; вместо него используется __clrcall«, «тип функции, включающий универсальный параметр, не может содержать параметр-многоточие«, «для переопределения соответствующего %nd требуется модификатор virtual«, «для реализации соответствующего %nd требуется модификатор virtual«, «элементы данных initonly не могут быть энергозависимыми«, «член %sq этого типа зарезервирован в классе %[managed] — операторы %[C++/CLI] должны объявляться с использованием ключевого слова operator«, «отслеживаемая ссылка на неконстантный класс не может быть привязана к константе«, «атрибуты здесь пропускаются, поскольку они неприменимы к объявленной сущности«, «отслеживаемая ссылка на %[System]::String не разрешена«, «недопустимое использование универсального класса %t с ожидающими ограничениями (возможно, вызванными недопустимым файлом метаданных)«, «предложения ожидающих ограничений разрешены только для объявлений универсальных классов (но не для определений универсальных классов)«, «пустой список инициализатора здесь не разрешен«, «шаблон нельзя объявить в классе %[managed]«, «универсальное объявление здесь не разрешено«, «типы интерфейса не могут иметь универсальные типы-члены«, «Символ Юникода не принадлежит кодировке Latin-1, усечен до младшего байта«, «предназначен для использования с основанными на диапазонах операторами for, тип %t должен предоставлять функцию %sq«, «тип итератора в этом основанном на диапазоне операторе «for« — %t, что не является ни типом указателя, ни типом класса, схожим с итератором«, «тип итератора в этом основанном на диапазоне операторе «for« — %t, что не является ни типом указателя, ни типом класса, схожим с итератором«, «тип итератора в этом основанном на диапазоне операторе «for« — %t, что не является ни типом указателя, ни типом класса, схожим с итератором«, «основанный на диапазоне оператор for нельзя применять к массивам неизвестного размера или неполного типа %t«, «типы возвращаемых значений для функций begin и end, используемых в основанном на диапазоне операторе for, должны совпадать (тип возвращаемого значения begin равен %t1, а тип возвращаемого значения end равен %t2)«, «функция %nfd, необходимая для уничтожения удаленного временного объекта, недоступна«, «в данном основанном на диапазоне операторе for отсутствует экземпляр %no, соответствующий списку аргументов«, «не найдена соответствующая функция %sq, необходимая для этого основанного на диапазоне оператора for«, «не найдена соответствующая функция %sq, необходимая для этого оператора for each«, «%t содержит представление метаданных, которое нельзя представить с использованием %[C++/CLI]«, «ожидается «««, «%t в списке __implements не является интерфейсом«, «список __implements должен располагаться до объявлений виртуальных функций«, «%t задает «__implements …« в списке базовых классов, но соответствующий список __implements отсутствует«, «должен использоваться результат разыменования дескриптора ссылочного класса или класса интерфейса«, null, «ожидался символ «)«; pragma игнорируется«, «объявление using или объявление доступа не может находиться в управляемом классе«, «Примечание: %nd мог быть вызван, но не рассматривался, поскольку был недоступен«, «у абстрактной функции-члена управляемого класса C++/CLI не может быть определения«, «объявление этого унарного «operator*« может изменить значение разыменования дескриптора (используйте статические операторы—члены, чтобы явным образом задать применимые типы)«, «управляемый«, «C++/CX«, «C++/CLI«, «сопоставление ++/CX«, «default«, «сопоставление cli«, «cli::array«, «Platform::Array«, «массив C++/CLI«, «массив C++/CX«, «Система«, «Платформа«, «gcnew«, «ref new«, «класс интерфейса не может содержать нестатических элементов данных«, «нельзя использовать #pragma GCC system_header в основном файле исходного кода«, «Размер %n слишком велик для встраивания.«, « (объявлено неявно)«, «параметр управления операциями перемещения можно использовать только при компиляции C++«, «если конструкторы rvalue являются конструкторами копий, создание операций перемещения невозможно«, «параметр управления операциями перемещения нельзя использовать, если отключены ссылки rvalue«, «модификатор final нельзя использовать для управляемых классов (используйте вместо него модификатор sealed)«, «приведение к классу %t интерфейса CLI не разрешено — привести к требуемому дескриптору?«, «не удается создать объект класса интерфейса CLI«, «это объявление скрывает нестандартное объявление %nd, поскольку соответствующие типы несовместимы«, «результат сравнения указателей равен константе, поскольку операнд не может быть равен NULL«, «объект незавершенного типа %t не может инициализироваться значением«, «ссылка не может инициализироваться значением«, «ожидалась скобка «(« или «{««, «copy-list-initialization не может использовать конструктор, помеченный как «explicit««, «указатель на член типа void не допускается«, «указатель на член ссылочного типа не допускается«, «указатель на член типа дескриптора не допускается«, «Список в фигурных скобках здесь недопустим.«, «управляемый класс не может содержать члена operator->*«, «метаданные сборки ссылаются на несуществующую сборку «, «атрибут %sq2 конфликтует с заданным ранее атрибутом %sq1«, «%nd ранее объявлено с другим базовым типом«, «здесь нельзя использовать «enum class« и «enum struct« (используйте простое перечисление «enum«)«, «в инициализаторе объекта типа %t допускается использовать только один уровень фигурных скобок«, «%nd не может использоваться в качестве имени типа перечисления«, null, «невозможно использовать заключенный в фигурные скобки инициализатор с оператором «new auto««, «определение std::initializer_list не содержит ожидаемого конструктора«, «объявление скрывает %nd«, «недопустимый список параметров шаблона для std::initializer_list (необходимо использовать один обычный параметр типа без значения по умолчанию)«, «Невозможно передать список в фигурных скобках для параметра-многоточия.«, «параметр #include <список_инициализатора> необходимо использовать перед std::initializer_list, включая неявное использование«, «невозможно использовать ключевое слово inline в объявлении псевдонима пространства имен«, «предыдущее объявление %n не было выполнено в строке«, «%n ранее был объявлен как встроенный«, «первым аргументом должна являться целочисленная константа«, «Указатель не может использоваться с неагрегатным типом %t.«, «Указатель элемента анонимного объединения может быть только в фигурных скобках, соответствующих этому анонимному объединению.«, «теги прототипов функций могут быть включены только при компиляции C«, «Для данного инициализатора подобъекта пропустить фигурные скобки невозможно.«, «Недопустимое сужающее преобразование из %t1 в %t2.«, «Недопустимое сужающее преобразование из %t1 в %t2: константное значение не помещается в конечный тип.«, «приведение в тип неполного массива %t не разрешено«, «Недопустимое сужающее преобразование из %t1 в %t2: невозможно точно представить константное значение в конечном типе.«, «Инициализатор неклассовой сущности в круглых скобках должен быть выражением, а не списком в фигурных скобках.«, «Список в фигурных скобках не предоставляет тип возвращаемого значения для этой лямбды.«, «объявленная спецификация исключения несовместима с созданной«, «типы ограниченного перечисления являются возможностью С++11«, «тип функции не может инициализироваться значением«, «инициализация объекта типа %t в списке не разрешена, потому что тип не завершен«, «std::initializer_list имеет деструктор, хотя не должен — библиотека настроена неверно«, «явные базовые типы перечисления — это одна из возможностей С++11«, «это константное выражение имеет тип %t1 вместо необходимого типа %t2«, «оператор new объекта std::initializer_list, вероятно, не будет работать, как ожидается, потому что базовый массив будет разрушен в конце полного выражения«, «В файле предустановленного макроса«, null, «оператор defined всегда имеет значение false в расширении макроса в режиме Microsoft«, «%t не может являться типом элемента списка инициализаторов, потому что это не полный тип объекта«, «несовпадающие разделители в выражении аргумента по умолчанию«, «Нестандартное преобразование указателя на элемент в указатель на функцию«, «спецификации динамических исключений являются нерекомендуемыми«, «не удается частично специализировать %n в текущей области видимости«, «%nd ранее объявлено как constexpr«, «%nd не было ранее объявлено как constexpr«, «отсутствует инициализатор для переменной constexpr«, ««constexpr« здесь не допускается«, «функция constexpr должна содержать ровно один оператор return«, «оператор не может использоваться в функции constexpr«, «оператор не может использоваться в конструкторе constexpr«, «в этом режиме функция не может быть constexpr и virtual одновременно«, «функция constexpr не может иметь нелитеральный возвращаемый тип %t«, «функция constexpr не может иметь параметр нелитерального типа %t«, «неупорядоченное использование %n в выражении может привести к неопределенным результатам«, «необязательный третий аргумент в вызове __builtin_assumed_aligned должен иметь целый тип«, «деструктор не может быть constexpr«, «адрес, указанный для mmap, должен быть выровнен по границе страницы: %s«, «тело конструктора constexpr не может быть блоком function try«, «constexpr %nf не предоставляет инициализатора для:«, «%n«, «вызов конструктора по умолчанию для %t не создает постоянного значения«, «конструктор по умолчанию для %t не является constexpr«, «переменная constexpr должна иметь тип литерала или ссылочный тип«, «конструктор для класса с виртуальными базовыми классами не может быть constexpr«, «вызов функции должен иметь постоянное значение в константном выражении«, «функция «main« не может быть объявлена как constexpr«, null, «определение класса или типа перечисления не может содержаться в функции constexpr или в теле конструктора«, «здесь допускаются атрибуты только в стиле GNU«, «нестандартное использование «auto« для вывода типа из инициализатора или для объявления завершающего возвращаемого типа«, «нестандартное объявление списка параметров void с использованием полного типа void«, «квалификатор в этом локальном объявлении игнорируется«, «это константное выражение имеет тип %t вместо необходимого типа %s«, «для создания экземпляра __bases или __direct_bases требуется тип класса«, «аргумент __bases и __direct_bases должен быть параметром шаблона, являющимся типом«, «%s может использоваться только в контекстах шаблонов«, «функция constexpr возвращает значение, не являющееся константой«, «конструктор constexpr вызывает %n, не являющийся constexpr«, «конструктор не может быть constexpr, поскольку инициализатор %n не является константным выражением«, «неконстантный инициализатор для конструктора constexpr«, «созданный конструктор по умолчанию для %t не может использоваться в инициализаторе в качестве его собственного члена данных«, «создание экземпляра инициализатора %n зависит от его собственного значения«, «конструктор по умолчанию, установленный по умолчанию, не может быть constexpr, потому что соответствующий неявно объявленный конструктор по умолчанию не будет constexpr«, null, «недопустимое двоичное число«, «объединение может иметь не более одного инициализатора полей — %nd также имеет инициализатор«, null, «конструктор constexpr объединения должен инициализировать одно из своих полей«, «конструктор constexpr не смог инициализировать анонимное объединение (определенный %p)«, «для объявления статических данных-члена constexpr требуется инициализатор внутри класса«, «параметры максимальной глубины/числа constexpr могут использоваться только при компиляции C++«, «выражение не было сведено к константе из-за избыточной сложности вызовов функции constexpr«, «параметры неограниченного объединения можно использовать только при компиляции C++«, «конструктор constexpr должен инициализировать прямой базовый класс %t«, «создание объекта std::initializer_list в инициализаторе полей, вероятно, не будет работать, как ожидается, потому что базовый массив будет разрушен в конце полного выражения«, «выражение «this« не может использоваться в константном выражении«, null, ««constexpr« не допускается в директиве явного создания экземпляра«, «не удается определить спецификацию исключения конструктора по умолчанию из-за кольцевой зависимости«, «определенный анонимным объединением %p«, «этот конструктор использует инициализатор %nd, который приведет к неограниченной рекурсии«, null, «инициализатор не допускается в локальном объявлении переменной extern«, «инициализатор не допускается в локальном объявлении переменной именованного регистра«, null, «неограниченные объединения не могут быть включены в режиме Microsoft«, «конструктор прямо или косвенно выполняет делегирование на самого себя«, «делегирующий конструктор не может иметь другие инициализаторы элементов«, «здесь использование квалификатора ref не допускается«, «для перегрузки двух функций-членов с одинаковыми типами параметров требуется, чтобы у обеих функций имелись или отсутствовали квалификаторы ref«, «недопустимый символ в разделителе необработанной строки«, «скобка, завершающая разделитель необработанной строки, не найдена в пределах 16 символов — индикатор необработанной строки игнорируется«, «конечный разделитель для необработанной строки не найден«, «пакет параметров должен быть последним аргументом шаблона в частичной специализации«, «Функция указателя на элемент типа %t может использоваться только с объектом lvalue.«, «Функцию указателя на элемент типа %t может использоваться только с объектом rvalue.«, «параметр этого установленного по умолчанию конструктора копий не может быть константой, поскольку параметр базового конструктора копий или конструктора копий как элемента не является константой«, «параметр этого установленного по умолчанию оператора назначения не может быть константой, так как параметр базового оператора назначения или оператора-члена назначения не является константой«, «анонимное объединение должно содержать по крайней мере один нестатический элемент данных«, «для параметра delegating_constructors требуется другая конфигурация компилятора«, «уменьшение выравнивания игнорируется«, «операнд const_cast приведения к типу ссылки rvalue не может иметь значение prvalue, не являющееся классом«, «выражение должно быть lvalue или xvalue«, «в результате преобразования значение может измениться«, «преобразование строкового литерала в тип «char *« не рекомендовано«, «преобразование строкового литерала в указатель на символ (не константный) не рекомендовано«, «override и final — это функции C++ 11«, «ссылки на правосторонние значения не допускаются в качестве типов спецификаций исключений«, «атрибут %sq не применяется к параметрам обработчика«, «для атрибута %sq требуется параметр обработчика«, «оператор alignas здесь не применим«, «стандартный оператор alignof не принимает выражение в качестве аргумента (используйте вместо этого тип)«, «недопустимый квалификатор для %t (использование производного класса не допускается)«, «атрибут always_inline пропускается в функциях, не являющихся встраиваемыми«, «наследуемые конструкторы должны наследоваться от прямого базового класса«, null, «ожидается метка«, «после «%%l« ожидается номер операнда«, «номер операнда для «%%l« не указывает на допустимый аргумент метки«, «недопустимая двухбайтовая строка в операторе asm«, «нестандартный атрибут«, «не является базовым классом класса %t«, «не являющийся идентификатором символ в определенном пользователем литеральном суффиксе«, «литерал из нескольких символов не может входить в определяемый пользователем литерал«, «определенный пользователем литеральный суффикс не соответствует предыдущему %sq«, «недопустимое имя литерального оператора«, «определенный пользователем литеральный оператор не найден«, «неоднозначные литеральные операторы и/или шаблон литерального оператора:«, «литеральный оператор не может быть членом класса«, «литеральный оператор не может иметь внешнее связывание имени «C««, «для литерального оператора ожидается по меньшей мере один параметр«, «слишком много параметров для этого литерального оператора«, «недопустимый тип параметра %t для литерального оператора«, «недопустимый целочисленный тип параметра (%t) для литерального оператора; требуется символьный тип или тип long long без знака«, «недопустимый тип параметра с плавающей запятой (%t) для литерального оператора; предполагается тип long double«, «недопустимый тип первого параметра (%t) для литерального оператора; указатель на тип, отличный от константы, недопустим«, «недопустимый тип второго оператора (%t) для литерального оператора; необходим тип size_t«, «недопустимый тип параметра указателя (%t) для литерального оператора; требуется указатель на символьный тип«, «литеральный оператор не может иметь параметр-многоточие«, «шаблон литерального оператора не может иметь параметры«, «шаблон литерального оператора должен иметь список параметров шаблона, эквивалентный <char …>«, «Класс хранения thread-local здесь недопустим.«, «объявление, локальное по отношению к потоку, следует за объявлением, не локальным по отношению к потоку (объявлено %p)«, «объявление, не локальное по отношению к потоку, следует за объявлением, локальным по отношению к потоку (объявлено %p)«, «литеральный оператор не может иметь аргументы по умолчанию«, «атрибут пропускается для переменных, локальных по отношению к потоку«, «указываемый пользователем литеральный суффикс должен начинаться с «_««, «ссылки на правосторонние значения — это функция C++ 11«, «лямбда-выражения — это функция C++ 11«, «стандартный синтаксис атрибутов — это функция C++ 11«, «делегирующие конструкторы — это функция C++ 11«, «наследуемые конструкторы — это функция C++ 11«, «инициализаторы полей — это функция C++ 11«, «удаленные функции — это функция C++ 11«, «функции по умолчанию — это функция C++ 11«, «класс хранения недопустим в явной специализации«, null, «чтобы быть специализированным, неограниченное перечисление должно быть непрозрачным«, «объявление шаблона перечисления должно ссылаться на ранее объявленный член шаблона класса«, «требуется векторный операнд«, «исходные операнды смешения имеют несовместимые типы %t1 и %t2«, «Маска смещения (тип %t) не является вектором целых чисел.«, «Маска смещения (тип %t1) имеет длину, отличную от исходного операнда (тип %t2).«, «Статическая инициализация со значением адреса требует указания того же размера, что и адрес.«, «Аргумент для тестирования функции макро должен быть простым идентификатором.«, «__has_include_next запрещено использовать в основном файле исходного кода«, «абсолютное имя файла используется в __has_include_next«, «атрибут %sq должен применяться к типу функции«, null, «_Noreturn здесь не допускается«, «ожидается операнд вещественного типа с плавающей точкой (не %t)«, «Для __builtin_complex требуются совместимые типы операндов (в отличие от %t1 и %t2).«, «ассоциация по умолчанию уже установлена для этого выделенного фрагмента _Generic«, «Использование типа массива переменной длины не допускается.«, «дублирующий тип соответствия (%t) в выделенном фрагменте _Generic«, «не найдено соответствие типу селектора %t«, «Тип %n (%t) несовместим с типом сопоставителя ifunc«, «функция не может одновременно иметь атрибуты ifunc и alias«, «функция не может одновременно иметь атрибуты ifunc и weak«, «вызов требует строковый литерал в качестве операнда«, «дублирование наследования в объявлении конструктора (предыдущий %p)«, ««decltype(auto)« должен быть заполнителем для полного типа переменной (не для компонентов этого типа).«, «decltype(auto) здесь не допускается«, «не удается вывести decltype(auto) (требуется инициализатор)«, «не удается вывести тип decltype(auto)«, «объявление с видимостью в пределах блока локального хранения должно включать static или extern«, «Выведенный возвращаемый тип %t1 конфликтует с ранее выведенным типом %t2«, «Невозможно вывести возвращаемый тип %nd; он не был определен.«, «виртуальная функция не может иметь выведенный тип возвращаемого значения«, «%n рассматривается в этом месте в качестве контекстно-зависимого ключевого слова.«, «глобальное пространство имени не содержит фактический член %sq«, «сравнение между двумя различными перечисляемыми типами (%t1 и %t2)«, «невозможно распознать целевой атрибут«, «отсутствует целевая функция «default««, «можно указать только одно значение arch= target«, «универсальный класс не может быть пользовательским атрибутом«, «недопустимый целевой объект атрибута %sq«, «Неоднозначный атрибут — можно использовать одновременно %t1 и %t2«, «Аргумент атрибута с именем может ссылаться только на открытое нестатическое поле чтения или записи или скалярное свойство.«, «Аргумент атрибута с именем может ссылаться только на нестатическое поле или скалярное свойство типа параметра атрибута.«, «Недопустимый аргумент атрибута — необходимо константное выражение типа параметра атрибута.«, «аргумент атрибута не может использовать параметры универсального типа«, «%t может использоваться только в качестве изолированного атрибута«, «целевой атрибут «field« не может быть использован для нетривиального свойства или события.«, «недопустимый целевой атрибут для изолированного атрибута«, «недопустимый целевой атрибут для этого контекста«, «использование атрибута %t здесь не допускается«, «%t не рекомендуется; для указания параметра массива используйте «««, «пространство имен по умолчанию невозможно расширять«, «упакованный тип должен быть классом значений или перечислением«, «отслеживаемые ссылки на классы значений запрещены«, «дескрипторы классов значений запрещены«, «отслеживаемые ссылки на перечисления запрещены«, «дескрипторы перечислений запрещены«, «открытые собственные типы запрещены«, «открытые вложенные типы запрещены«, «универсальные типы запрещены в C++/CX«, «универсальные методы запрещены в C++/CX«, «универсальные ограничения запрещены«, «Неоткрытые элементы данных не разрешены в открытых типах значений C++/CX.«, «Открытые элементы, не являющиеся элементами данных, не разрешены в открытых типах значений C++/CX.«, «конструкторы в открытых типах значений C++/CX запрещены«, «тип значений, возвращаемых методом доступа «add«, должен быть Windows::Foundation::EventRegistrationToken«, «тип значений, возвращаемых методом доступа «remove«, должен быть void«, «тип параметров метода доступа «remove« должен быть Windows::Foundation::EventRegistrationToken«, «дескрипторы универсальных типов параметров или ссылки на такие типы не разрешены«, «открытые элементы данных не допускаются в типах, не являющихся типами значений«, «C++/CX можно включить только в режиме Microsoft C++«, «Невозможно объединить режимы C++/CLI и C++/CX«, «%sq требует режим C++/CX«, «для режима C++/CX требуется, чтобы microsoft_version >= 1600«, «в C++/CX не допускаются литеральные поля«, «Стандартная ссылка не может быть привязана к типу C++/CX.«, «тип должен соответствовать Platform::Boolean, default::uint8, default::int8, default::int16, default::uint16, default::int32, default::uint32, default::int64 или default::uint64«, «тип значения C++/CX не может иметь события«, «dynamic_cast к типу дескриптора должен ссылаться на полный тип класса«, «Platform::Array может быть только одномерным«, «отслеживаемые ссылки на стандартные типы классов запрещены«, «тип значения C++/CX не может наследовать от интерфейса«, «тип значения C++/CX не может содержать виртуальные функции«, «partial можно применять только к ref class или ref struct в глобальной области или области пространства имен«, «параметр метода доступа «set« должен иметь тип «const Platform::Array<T>^««, «Определение открытого типа C++/CX не может находиться в глобальной области.«, «не допускается использовать индексируемое свойство с открытым методом доступа «get« или «set««, «открытые вложенные типы делегата запрещены«, «недопустимый инициализатор делегата — ожидалось «(<function-address or functor-object> [, Platform::CallbackContext])« или «(<object handle>, <member-address> [, Platform::CallbackContext [, bool]])««, «недопустимый инициализатор делегата — объект должен быть дескриптором класса %[managed]«, «C++/CX не поддерживает массивы «in/out« — используйте «const Platform::Array<T>^« для «in« и «Platform::WriteOnlyArray<T>^« или «Platform::Array<T>^*« для массивов «out« в открытых API.«, «отсутствует атрибут target для %nd«, «объявленная функция-член не совпадает с атрибутами target для %n«, «Атрибуты Microsoft в этом месте разрешены только для типов интерфейсов.«, «требуется подпрограмма многовариантного сопоставителя функции GNU«, «Объявленный тип перечисления в управляемом классе должен включать определение«, «полное имя decltype является нестандартным в этом контексте объявления«, «невозможно объявить невиртуальную функцию с модификатором final«, «атрибут target в специальной функции не поддерживается«, «должен быть строковым литералом narrow«, «непарные скобки«, «нет соответствий с push_options«, «директива pragma не разрешена внутри функции«, «объявление нового или удаление оператора inline является нестандартным«, «инициализатор элементов для элемента данных не может быть раскрытием пакета«, «общие лямбда-выражения не могут иметь записи по умолчанию в этом режиме«, «Аргумент шаблона по умолчанию в дружественном объявлении может быть указан только в определении.«, «понятное объявление шаблона с аргументом шаблона по умолчанию должно быть единственным объявлением (первое объявление %p)«, «объявление непрозрачного перечисления не может быть частью другого объявления«, «объявление непрозрачного перечисления является нестандартным в этом контексте«, «расширенный понятный синтаксис является функцией C++ 11«, «цифровые разделители не включены, апостроф начинается с символьного литерала«, «цифровой разделитель не может отображаться здесь«, «в режиме Майкрософт constexpr здесь игнорируется«, «недопустимое выражение для результата выражения оператора«, «идентификатор является макросом, а не суффиксом литерала«, «невозможно вызвать %nd для lvalue«, «невозможно вызвать %nd для rvalue«, «невозможно вызвать функцию-член для lvalue«, «невозможно вызвать функцию-член для rvalue«, «список параметров шаблона слишком длинный«, «тип шаблона псевдонима %t1 несовместим с предыдущим типом %t2 в повторном объявлении %nfd«, «инициализатор поля для %nd не является константным выражением«, «количество ограничений операнда должно быть одинаковым во всех строках ограничений«, «строка ограничений содержит слишком много других ограничений; не все ограничения были проверены«, «вызов через незавершенный класс %t будет всегда вызывать ошибку при создании экземпляров«, «Элемент decltype(auto) не может иметь добавленные квалификаторы типа.«, «параметр init-capture %nod невозможно записать здесь«, «недопустимый нетипизированный аргумент шаблона типа %t«, «атрибут abi_tag игнорируется (он не имеет смысла в режиме C)«, «при повторном объявлении добавляется атрибут abi_tag «%s««, «Атрибут abi_tag игнорируется (заменяется более поздним атрибутом abi_tag)«, «в предыдущем объявлении %nd отсутствовал атрибут abi_tag«, «(см. предыдущее объявление %p)«, «Атрибут abi_tag пропускается в специализации«, «Параметр decltype(auto) не может отображаться под указателем, ссылкой или конструкцией указателя на элемент.«, «ожидается class или typename«, «размещение выражения new относится к %nd без аргументов размещения«, «при сборке библиотеки времени выполнения нужно указывать режим C++ 14«, «%s«, «предупреждение командной строки«, «Предупреждение командной строки«, «нестатическая функция-член constexpr не будет являться неявной «const« в C++14«, «переменный тип %t в функции constexpr не является литеральным типом«, «переменная в функции constexpr не имеет автоматической длительности хранения«, «переменная в функции constexpr не инициализирована«, «заключенная в фигурные скобки инициализация переменной, объявленная с типом заполнителя, но без «=«, должна содержать строго один элемент внутри фигурных скобок«, «конфигурация «%s« —target не существует«, «атрибут поддерживается только в 32-разрядных (x86) конфигурациях«, «для «%s« требуется аргумент«, «Конструктор или деструктор не может быть сопрограммой.«, «%n не может быть сопрограммой.«, «выражения co_yield не разрешены в предложении catch«, null, null, null, null, «шаблон класса %sq не найден«, «используйте ключевое слово «typename«, чтобы обработать %n как тип в независимом контексте«, «значение аргумента должно быть меньше суммы элементов вектора«, «%t не имеет член %sq«, «Список в фигурных скобках не предоставляет тип возвращаемого значения.«, «выражение co_await должно находиться в области действия функции«, «выражение co_await запрещено использовать внутри предложения catch«, «Сопрограмма не может иметь параметр-многоточие.«, «для включения constexpr в стиле C++ 14 требуется поддержка bool«, «constexpr %nd не определено«, «невозможно вычислить этот вызов, так как целевая функция %nd не является функцией constexpr или пока еще не определена полностью«, «примечание«, «Примечание«, «недопустимое анонимное объединение — шаблон элемента псевдонима не разрешен«, «значение литерала символа UTF-8 не может занимать больше одного модуля«, «значение %nd невозможно использовать как константу«, «указатель или ссылку на %nd невозможно использовать как константу«, «ненулевой подстрочный знак для объекта, отличного от массива«, «невозможно получить доступ к позиции %d1 в массиве с число элементов, равным %d2«, «вызвано из:«, «недопустимый доступ к неактивному %n1 объединения (%n2 является активным)«, «goto невозможно выполнить в контекстах constexpr«, «отсутствует возвращаемое значение«, «вызываемый объект имеет значение null«, «попытка отменить ссылку на пустой указатель«, «попытка доступа к позиции первого хранилища после конца массива из %d элементов.«, «попытка доступа к просроченному хранилищу«, «попытка доступа к хранилищу среды выполнения«, null, «невозможно вызвать %nd, отличный от constexpr«, «невозможно использовать массив переменной длины во время вычисления constexpr«, «невозможно выполнить отрицательный сдвиг«, «значение сдвига (%d) слишком велико«, «значение превышает диапазон %t«, «ошибка с плавающей запятой«, «попытка отменить ссылку на пустой указатель на элемент (элемент данных)«, «сравнение указателя на пустоту и указателя на функцию является нестандартным«, «сбой инициализации метаданных«, «недопустимое приведение базового класса к производному (полный тип класса — %t)«, «недопустимый доступ к %n в объекте полного типа %t«, «Значение «__auto_type« здесь запрещено«, ««__auto_type« не допускает множество операторов объявления.«, «инициализация с помощью «{…}« запрещена для «__auto_type««, «Значение «__auto_type« должно быть заполнителем для полного типа переменной (а не для компонента этого типа)«, «для переменной, объявленной с «__auto_type«, требуется инициализатор«, «целочисленная константа должна быть больше нуля или равна нулю«, «тип должен быть целочисленным«, «невозможно интерпретировать выражение«, «невозможно интерпретировать оператор«, «недопустимое использование адреса хранилища интерпретатора«, «недопустимая разновидность константы для константного выражения«, «тип %t слишком большой для оценки константного выражения«, «недопустимый тип %t для оценки константного выражения«, «преобразование из %t1 в %t2 недопустимо при оценке константного выражения«, «сбой преобразования с плавающей запятой«, null, «выведенные типы возвращаемых значений — это функция C++ 14«, «невозможно вычислить конструктор со связанным деструктором«, «%n не инициализирован при вычислении constexpr«, «недопустимая разность указателей при вычислении constexpr«, «недопустимая арифметическая операция с указателем, не являющимся указателем массива«, «невозможно задать указатель перед первым элементом массива«, «Сопрограмма с выведенным типом возвращаемого значения недопустима.«, «выражение недопустимо в невычисляемом контексте«, null, null, «Сопрограмма не допускает использования «return« (вместо этого используйте «co_return«).«, «Использование «co_return« допускается только в сопрограммах.«, «значения с плавающей запятой запрещено сравнивать«, «значения указателей нельзя сравнить, так как они не указывают на один и тот же полный объект или они указывают на подобъекты с иной доступностью«, «атрибут abi_tag игнорируется в невстроенном пространстве имен«, «атрибут abi_tag игнорируется в анонимном пространстве имен«, «параметр шаблона комплексного или мнимого типа является нестандартным«, «выражение co_yield запрещено использовать вне области действия функции«, «локальное по отношению к потоку обозначение игнорируется в анонимном объединении«, null, «шаблон переменной«, «доступ к неинициализированному объекту«, «попытка чтения данных из энергозависимого хранилища«, «недопустимая попытка доступа к неактивному %n1 объединения (активных полей нет)«, «определения меток не могут присутствовать в функциях constexpr«, «невозможно сравнить указатель, который находится за пределами массива, с указателем на другой полный объект«, «тип функции %t не является допустимым типом для создания экземпляра шаблона переменной«, «переменная не может иметь незавершенный тип %t«, «доступ к неинициализированному подобъекту (%n)«, «доступ к неинициализированному подобъекту (базовый класс: %t)«, «вызов псевдодеструктора не разрешен в константном выражении«, «попытка изменить хранилище констант«, null, null, «попытка получить доступ к хранилищу на одну позицию после объекта, который рассматривается как массив из одного элемента«, «невозможно использовать reinterpret_cast при вычислении константного выражения«, «операция не разрешена над пустым указателем«, «значение *this нельзя использовать как константу«, «ключевое слово «inline« невозможно использовать в объявлении вложенного пространства имен«, «атрибут carries_dependency пропускается«, ««__event __interface« не может иметь определение здесь«, «обработчик событий должен иметь аннулированный или целочисленный тип возвращаемого значения«, ««__event __interface« должен быть определен ранее«, «слишком много аргументов шаблона для %n«, «перечислитель уже объявлен (см. %nd)«, «для использования «—ms_c++14« эмулируемая версия Майкрософт должна быть не ниже 1903«, «для использования «—ms_c++latest« эмулируемая версия Майкрософт должна быть не ниже 1903«, «тип %t не может быть _Atomic, так как он является типом массива или функции«, «не допускается применять описатель _Atomic(…) к квалифицированному типу %t«, «доступ к элементу объекта _Atomic«, «битовое поле не может иметь тип _Atomic«, «типы классов _Atomic отключены«, «Конструктор constexpr вызывает конструктор, не относящийся к constexpr, для инициализации подобъекта.«, «ожидается запятая (версия static_assert с одним аргументом в этом режиме не включена)«, «сбой статического утверждения«, «только один из квалификаторов _Nullable, _Nonnull и _Null_unspecified может изменять тип«, «Квалификаторы допустимости значений NULL разрешены только для типов «указатель« и «указатель на элемент«.«, «слишком большая длина вектора«, «тип элемента вектора должен быть целым числом, перечислением или действительным числом с плавающей запятой«, «встроенная функция недоступна, так как 128-разрядные целые числа не поддерживаются«, «встроенная функция недоступна, так как векторные типы не поддерживаются«, «две последовательных левых квадратных скобки всегда вводят список атрибутов, но список атрибутов не может быть указан здесь«, «нераспознанный атрибут target блокирует использование этой процедуры процедурой сопоставителя«, «%t не является векторным типом«, «векторные типы %t1 и %t2 должны иметь одинаковую длину«, «добавление аргументов по умолчанию не может повлечь за собой объявление конструктора по умолчанию или конструктора копий«, «нетипизированный аргумент шаблона ссылочного типа необходимо привязать к функции или полному объекту«, «%t здесь запрещен«, «Использование описателя класса хранения «register« недопустимо.«, «Использование описателя класса хранения «register« не рекомендуется.«, «увеличение логического значения запрещено«, «%sq, объявленный как итератор инструкции for на основе диапазона, нельзя повторно объявить в этой области«, «здесь нельзя использовать пространство имен атрибутов (так как указан префикс using)«, «пространство имен атрибутов %sq не распознано«, «инициализатор члена по умолчанию запрещен в классе значений«, «—implicit_noexcept требует режим, включающий noexcept«, «не удается свернуть операцию с участием виртуального базового класса (%t)«, «инициализация не является постоянной.«, «не удается вычислить значение неполного %t«, «пропуск возвращаемого значения от процедуры, объявленной с помощью атрибута nodiscard«, «пропуск типа возвращаемого значения с атрибутом nodiscard«, «атрибут «nodiscard« не применяется к деструкторам или процедурам с типом возвращаемого значения void«, «атрибут fallthrough применим только к операторам null«, «атрибут fallthrough может использоваться только во внешнем операторе switch«, «оператору fallthrough должна предшествовать метка switch case или default«, «ссылка или указатель на временные файлы с ограниченным временем существования«, «невозможно получить адрес функции с атрибутом enable_if, условие которого не является безусловным true«, «атрибуты enable_if с условиями, которые не являются постоянными значениями, пока не поддерживаются«, «атрибут был объявлен здесь«, «__has_include запрещено указывать за пределами #if«, «не удалось добавить базовый класс CComCoClass«, «не является строкой, оканчивающейся нулевым символом«, «нескалярный тип %t не может использоваться в вызове псевдодеструктора«, «адрес «слабого« %n не является постоянным«, «слишком много рекурсивных подстановок для сигнатур шаблона функции«, «Недопустимый описатель для объявления структурированной привязки.«, «Недопустимый синтаксис структурированной привязки.«, «отсутствует инициализатор«, «у типа %t нет компонентов, к которым можно выполнить привязку«, «слишком много идентификаторов«, «число элементов больше числа имен привязок«, «‘std::tuple_element не определен«, «не удается создать экземпляр std::tuple_element для <%s, %t>«, «не удается вызвать функцию-член «get<%s>()« для типа %t«, «отсутствуют экземпляры %no, соответствующие списку аргументов«, «Эта структурированная привязка требует подходящую функцию %sq, которая не найдена.«, «Структурированная привязка не может быть объявлена как «inline«.«, «Структурированная привязка не может быть объявлена как «constexpr«.«, «структурированная привязка не может объявлять явный класс хранения«, «std::tuple_size<%t>::value не является допустимым константным выражением«, «объявление условия должно объявлять переменную«, «объявление условия должно включать в себя инициализатор«, «Инициализатор в круглых скобках недопустим для объявления условия.«, «объявление условия может объявлять всего одну переменную«, «структурированная привязка не может привязываться к типу замыкания«, «не удается выполнить привязку к необщедоступному %n«, «не удается выполнить привязку к неполному типу %t«, «здесь это объявление не действует«, «тело функции constexpr не может быть блоком function try«, «не допускается передача управления в блок finally«, «Записать структурированную привязку невозможно.«, «для использования «—ms_c++17« эмулируемая версия Майкрософт должна быть не ниже 1911«, «попытка чтения после конца объекта«, «в этом режиме лямбда-выражения constexpr отключены«, «константное выражение не может содержать лямбда-выражение«, «значение превышает число аргументов шаблона«, «второй оператор в бинарном выражении свертывания не соответствует первому«, «недопустимый оператор выражения свертывания«, «бинарное выражение свертывания нельзя применить к двум пакетам параметров«, «пустое расширение недопустимо для этого выражения свертывания«, «нестатический элемент данных невозможно объявить как встроенный«, «выражение свертывания не ссылается на пакет параметров«, «невозможно перегрузить две функции с такими же типами параметров, но другими спецификациями исключений«, «динамические спецификации исключений запрещены в этом режиме«, null, «недопустимый операнд для спецификатора noexcept«, «лямбда-выражение не может появляться в описателе noexcept шаблона«, «%nfd недоступно«, «недопустимый описатель в объявлении шаблона перечисления«, «В этой конфигурации не поддерживаются 80-битные типы с плавающей запятой«, «В этой конфигурации не поддерживаются 128-битные типы с плавающей запятой«, «недопустимое значение перечислителя«, «это должен быть тип с квалификатором _Atomic«, «тип элемента массива должен быть завершен«, «атрибут always_inline был отменен для этой функции«, «отрицательное значение здесь запрещено«, «целочисленный элемент пакета не может совпадать с %n«, «целочисленный элемент пакета не может совпадать с %n«, «Непредусмотренный указатель.«, «не удается вычислить __builtin_offsetof«, «Невозможно определить правила дедукции %t.«, «Правила дедукции должны быть объявлены в той же области, что и %n.«, «Недопустимый описатель для объявления правил дедукции (разрешен только «explicit«).«, «невозможно получить доступ к изменяемым %n константы в константном выражении«, «модификатор функции не применяется к объявлению статического члена«, «атрибут overloadable требует объявления функции с прототипом«, «не удается вывести тип параметра шаблона auto %t1 из %t2«, «имя шаблона класса должно быть заполнителем для инициализируемого полного типа (а не для компонента этого типа)«, «объявления псевдонимов — это функция C++ 11«, «шаблоны псевдонимов — это функция C++ 11«, «Тип возвращаемого значения должен напрямую указывать специализацию связанного шаблона класса«, «copy-list-initialization не может использовать explicit %n«, «правила дедукции«, «Недопустимое значение для определенного пользователем литерального оператора«, «__has_cpp_attribute не может находиться вне #if или #elif«, «Правила дедукции должны быть объявлены с тем же доступом, что и %n.«, «лямбда-выражение недопустимо в этом контексте«, «указанное выравнивание не соответствует предыдущему объявлению«, «в определении не указано выравнивание; предыдущее объявление задало выравнивание«, «встроенная функция недоступна, так как 128-разрядные типы с плавающей запятой не поддерживаются«, «сдвиг отрицательного значения влево ведет к неопределенному поведению«, «Указатели массивов являются нестандартными в C++.«, «Связанные указатели являются нестандартными в C++.«, «смешивание назначенных и неназначенных инициализаторов является нестандартным в C++«, «инициализаторы с нарушением порядка являются нестандартными в C++«, «шаблон строкового литерального оператора должен иметь список параметров шаблона, эквивалентный «<typename T, T …>««, «Повторяющиеся указатели недопустимы.«, «Атрибут конфликтует с предыдущим атрибутом likely/unlikely.«, «явная поэкземплярная запись this является нерекомендуемой«, «использование пустого списка параметров шаблона в лямбда-выражении запрещено«, «для использования «—ms_c++20« эмулируемая версия Майкрософт должна быть не ниже 1920«, «Аргумент pragma STDC не принимается в этом режиме.«, «constexpr, если инструкции являются функцией C++17«, «раскрытие пакета запрещено в назначенном списке инициализаторов«, «Указатель поля не имеет значения.«, «объединение может иметь не более одного инициализатора полей«, «не найден допустимый тип std::%s (нужно включить <compare>)«, «недопустимые типы (%t1 и %t2) для встроенного оператора<=>«, «выражения свертывания являются нестандартными в этом режиме«, «каталог, указанный через параметр —current_directory, не является каталогом: %s«, «Предупреждение PCH«, «конец заголовка должен определяться в глобальной области видимости. PCH-файл IntelliSense не был создан.«, «вызов макроса выполняется. PCH-файл IntelliSense не был создан.«, «конец заголовка не в области видимости файла. PCH-файл IntelliSense не был создан.«, «конец заголовка не может находиться в макросе или блоке #if. PCH-файл IntelliSense не был создан.«, «конец заголовка не может находиться в блоке связывания. PCH-файл IntelliSense не был создан.«, «не удается найти подходящее расположение конца заголовка. PCH-файл IntelliSense не был создан.«, «использование строковых директив в PCH невозможно. PCH-файл IntelliSense не был создан.«, «недопустимый описатель restrict«, «Функция %nfd со спецификатором ограничения amp должна вызываться из функции со спецификатором ограничения amp.«, «функция %nfd1 имеет описатели ограничений, несовместимые с вызовом функции %nfd2«, «ни у одной из потенциальных перегрузок нет правильных описателей restrict«, «Недопустимо использовать %t в функции %nfd со спецификатором ограничения amp.«, «недопустимый тип %t в указателе this для функции-члена %nfd с описателем ограничения amp«, «Недопустимый тип возвращаемого значения %t для функции %nfd со спецификатором ограничения amp.«, «Недопустимый тип параметра %t для функции %nfd со спецификатором ограничения amp.«, «Недопустимая метка в функции %nfd со спецификатором ограничения amp.«, «Недопустимый класс хранения %s в функции %nfd со спецификатором ограничения amp.«, «Недопустимо использовать %s в функции %nfd со спецификатором ограничения amp.«, «Недопустимое приведение в функции со спецификатором ограничения amp.«, «Спецификация исключения недопустима в функции со спецификатором ограничения amp.«, «Недопустимое косвенное обращение в функции %nfd со спецификатором ограничения amp.«, «Вызовы виртуальных функций не разрешены в функции %nfd со спецификатором ограничения amp.«, «Косвенные вызовы функций недопустимы в функции %nfd со спецификатором ограничения amp.«, «не допускается использовать здесь класс хранения tile_static«, «Недопустимая метка в функции %nfd со спецификатором ограничения amp.«, «Недопустимое битовое поле для функции %nfd со спецификатором ограничения amp.«, «Недопустимое многоточие для функции %nfd со спецификатором ограничения amp.«, «недопустимый виртуальный базовый класс для совместимого с amp типа %nfd«, «Недопустимая внешняя ссылка в функции %nfd со спецификатором ограничения amp.«, «Значение константы выходит за пределы поддерживаемого диапазона в функции %nfd со спецификатором ограничения amp.«, «Недопустимое значение pragma pack %s для функции со спецификатором ограничения amp.«, «перекрывающиеся описатели restrict запрещены«, «описатели restrict деструктора должны охватывать объединение описателей restrict всех конструкторов«, null, «для nostdlib требуется по меньшей мере одна директива forced using«, null, null, null, null, «во внешних функциях C не поддерживается несколько описателей ограничений«, «указатели на функции-члены, указатели на функции, ссылки на функции с описателем ограничения amp запрещены«, «Базовый класс, элемент данных или элемент массива должен быть выровнен хотя бы до 4 байт для функции %nfd со спецификатором ограничения amp.«, «Смещение элемента данных должно быть кратно его естественному выравниванию для функции %nfd со спецификатором ограничения amp.«, null, null, null, null, null, null, null, null, null, null, «у переменных tile_static не может быть инициализатора«, null, null, null, null, null, null, null, null, null, null, null, null, null, «/clr:nostdlib требует включения mscorlib.dll в список директив forced using«, «Для использования /clr:netcore с /clr:nostdimport требуется включить System.Runtime.dll, System.Runtime.Extensions.dll, System.Runtime.InteropServices.dll и System.Runtime.CompilerServices.VisualC.dll в список принудительно используемых директив using.«, null, null, null, null, null, «<сбой диагностического выпуска>«, «Корректная работа модуля IntelliSense невозможна из-за слишком большого количества ошибок, некоторые из которых могут быть не видны в редакторе.«, «назначение устаревшему элементу this несовместимо с режимом C++11«, «произошла неизвестная ошибка. PCH-файл IntelliSense не был создан.«, «Один или несколько удаленных путей не могут быть сопоставлены с существующими локальными путями. Использование IntelliSense может быть ограничено.«, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, «требуется «>>>««, «не удается найти объявление __cudaPushCallConfiguration. Установка набора инструментов CUDA может быть повреждена.«, «Инициализатор в стиле C++17 является нестандартным в этом режиме«, «захват значения *this является нестандартным в этом режиме«, «Префикс атрибута using в стиле C++17 является нестандартным в этом режиме«, «Вложенные пространства имен в стиле C++17 являются нестандартными в этом режиме«, «в объявлении может использоваться только одно из ключевых слов «constexpr«, «consteval« и «constinit««, «в этом режиме функция не может быть consteval и virtual одновременно«, «consteval не допускается в директиве явного создания экземпляра«, «consteval здесь не допускается«, «деструктор не может быть consteval«, «конструктор для класса с виртуальными базовыми классами не может быть consteval«, «consteval запрещено использовать в объявлении переменной или статического элемента данных«, «%nd ранее объявлено как consteval«, «%nd не было ранее объявлено как consteval«, «функция main не может быть объявлена как consteval«, «вызов consteval %n не дал допустимое константное выражение«, «адрес consteval %n в результате константного выражения«, «элемент consteval не может переопределить отличный от consteval %n«, «отличный от consteval элемент не может переопределить consteval %n«, «структурированная привязка«, «Приведение dynamic_cast к подобъекту типа %t1 недопустимо (наиболее производный тип — %t2).«, «идентификатор __VA_OPT__ может использоваться только в списках замены для макросов с переменным числом аргументов«, «__VA_OPT__ не может присутствовать в операнде __VA_OPT__«, «отсутствует закрывающая круглая скобка для __VA_OPT__«, «После __VA_OPT__ должна стоять «(««, «знаки «##« не могут быть первыми в операнде __VA_OPT__«, «знаки «##« не могут быть последними в операнде __VA_OPT__«, «Вложенные встроенные пространства имен в стиле C++20 являются нестандартными в этом режиме«, «не удается преобразовать указатель на базовый класс %t2 в указатель на производный класс %t1 — попытка указания за пределами наиболее производного объекта«, null, ««main« невозможно использовать в качестве имени глобальной переменной или заданного связывания языка C«, «функцию «main« невозможно объявить в спецификации связывания«, «структурированная привязка запрещена в условии«, «перед «::« требуется идентификатор пространства имен атрибутов«, «допускается только одно пространство имен атрибутов«, «Значение «return« здесь запрещено«, «Структурированную привязку недопустимо сочетать с другими операторами объявления.«, «невозможно выполнить условный переход из контекста вычисления константы«, «Шаблоны структурированной привязки недопустимы.«, «Инициализатор в круглых скобках должен быть выражением, а не списком в фигурных скобках.«, «не удается вывести аргументы шаблона класса«, «операторы new или delete не могут быть объявлены как «consteval««, «здесь не может использоваться адрес функции consteval«, «выравнивание типа функции (%t) является нестандартным«, «выравнивание массива с неуказанной границей является нестандартным в C«, «переменная не может одновременно иметь атрибуты «common« и «internal_linkage««, «атрибут «internal_linkage« отсутствует в предыдущем объявлении«, «Не найдено подходящего кандидата для дедукции аргумента шаблона для %n.«, «полный вызов конструктора не допускается«, «оператор сравнения по умолчанию должен быть членом или дружественным классом класса, к которому он применяется«, «недопустимый тип %t для параметра оператора сравнения по умолчанию (необходимо указать ссылку на константу X, где X — тип включающего класса)«, «необходимо использовать возвращаемый тип оператора сравнения по умолчанию «bool««, «необходимо использовать оператор сравнения элемента по умолчанию «const««, null, «Для типа обещания сопрограммы %t не могут быть одновременно заданы «return_void« и «return_value«.«, «Значение «return_value« имеет объявление %p.«, ««return_void« было объявлено как %p«, «Отсутствует оператор co_return, хотя %t не содержит «return_void« в конце %n.«, «Для распределения состояния сопрограммы не обнаружено ни одного nothrow-варианта глобального «operator new«.«, «Для освобождения выделения состояния сопрограммы не обнаружено подходящего «operator delete«.«, «Функция constexpr не может быть сопрограммой.«, «операнд для этого выражения %s разрешается в %t, не являющийся классом«, «выражение co_await не допускается в статическом инициализаторе«, «выражение co_await, вызывающее %n, не должно выдавать исключений«, «слишком много операций перезаписи рекурсивного сравнения«, «в качестве выводимого типа возвращаемого значения для оператора по умолчанию <=> должен использоваться тип «auto««, «неявная копия источника, не являющегося константой«, «структурированная привязка не может объявлять явный класс хранения, отличный от static или thread_local«, «операторы сравнения по умолчанию не поддерживаются для нетривиальных полей свойств Майкрософт«, «стандартный тип сравнения (%t) должен быть типом класса с единственным нестатическим элементом данных целочисленного типа«, «в %t не найдено ни одного элемента статических данных constexpr %sq«, «слишком большое число элементов (%d) для динамического распределения«, «слишком большой запрос динамического выделения constexpr«, «освобождение хранилища, которое не было распределено динамически«, «размер освобождения распределения (%d1) не соответствует выделенному размеру (%d2)«, «место распределения«, «тип освобождения (%t1) не соответствует типу распределения (%t2)«, «не удалось отменить некоторые динамические распределения (общее число: %d)«, «встроенный %n объявлен с непредвиденной сигнатурой (тип %t)«, «>> вывод из std::__report_constexpr_value«, «>> конец вывода из std::__report_constexpr_value«, «невозможно использовать массив с размером зависимого массива в вычислении constexpr«, «пропуск возвращаемого значения от процедуры, объявленной с помощью атрибута nodiscard (%sq)«, «пропуск типа возвращаемого значения с атрибутом nodiscard (%sq)«, «конструктор, используемый для создания удаленного объекта, имеет атрибут «nodiscard««, «конструктор, используемый для создания удаленного объекта, имеет атрибут «nodiscard« (%sq)«, «тип удаленного объекта имеет атрибут «nodiscard««, «тип удаленного объекта имеет атрибут «nodiscard« (%sq)«, «ссылку на псевдодеструктор можно использовать только для вызова псевдодеструктора«, «явный вызов деструктора не разрешен в константном выражении«, «Оператор «запятая« не в круглых скобках в выражении индекса массива не рекомендуется.«, «число динамически выделенных элементов (%d) слишком мало для инициализатора«, «временный операнд для выражения %s не рекомендуется«, «использование результата назначения временному скалярному объекту не рекомендуется«, «временный целевой тип для выражения сложного назначения не рекомендуется«, «временный параметр функции не рекомендуется«, «временный тип возвращаемого значения не рекомендуется«, «Использование квалификатора volatile для структурированной привязки не рекомендуется.«, «аргумент «ext_vector_type« должен иметь значение от 1 до 2047«, «атрибут «ext_vector_type« может присутствовать только в typedef«, «атрибут «ext_vector_type« применяется только к целочисленным типам или типам с плавающей запятой«, «этот макрос тестирования компонента пропускается (и возвращает 0) в текущем режиме компиляции«, «невозможно вычислить агрегатный инициализатор со множеством элементов для объединения«, «%nd, выбранный для перезаписи оператора, не возвращает логический тип«, «new-expression, вызывающее функцию выделения для конкретного класса, не может быть вычислено в константном выражении«, «Выражение placement new не может быть вычислено как константное.«, «для удаления через указатель на подобъект требуется виртуальный деструктор«, «%npTd с аргументами в обратном порядке«, «операнд __INTADDR__ должен содержать смещение от нулевого указателя«, «Конструкция _Generic соответствует нескольким типам«, «другое совпадение — %t«, «Использованный здесь атрибут «Availability« игнорируется.«, «Оператор инициализатора в стиле C++20 в операторе for на основе диапазонов является нестандартным в этом режиме.«, «co_await можно применить только к оператору for на основе диапазонов.«, «Невозможно вывести тип диапазона в цикле for на основе диапазона.«, «встроенные переменные — это функция C++17«, «для оператора удаления delete необходимо указать %t в качестве первого параметра«, «оператор удаления delete не может иметь параметров, типы которых отличаются от std::size_t и std::align_val_t«, «Нестрогие параметры абстрактного класса можно использовать только при компиляции C++.«, «Недопустимое начало выражения в предложении requires«, «Выражение приведения в предложении requires должно быть заключено в круглые скобки«, «Этот оператор не может находиться на верхнем уровне (без скобок) в предложении requires«, «Атомарное ограничение должно иметь тип bool«, «Ошибка при подстановке атомарного ограничения«, «Атомарное ограничение не является константой«, «Вычисление атомарного ограничения дает значение false«, «Ограничение шаблона не соблюдено«, «Определение концепции не может находиться в этой области«, «Недопустимое повторное объявление %nd«, «не удалось подставить аргументы %T для идентификатора концепции«, «концепция имеет значение false для аргументов %T«, «Использование здесь предложения requires запрещено (не шаблонная функция)«, «шаблон концепции«, «Предложение requires несовместимо с %nfd«, «ожидается атрибут«, null, «Требуется имя типа«, «Использование параметра-многоточия в выражении requires запрещено«, «Неименованный параметр в выражении requires не оказывает никакого влияния«, «требуется имя концепции«, «Вызов %s в константном выражении всегда дает результат «true««, «Вызов %s в контексте consteval всегда дает результат «true««, «Вызов %s в функции, отличной от constexpr, всегда дает результат «false««, «сбой ограничения типа для %t«, «Параметр «export« запрещено использовать в режимах, где включены модули C++«, «Объявление фрагмента глобального модуля должно предшествовать любому другому объявлению«, «Объявлению модуля может предшествовать только фрагмент глобального модуля«, «Фрагменту закрытого модуля должно предшествовать объявление модуля«, «Не удается экспортировать фрагмент модуля %s«, «Невозможно объявить более одного модуля«, «Невозможно объявить больше одного фрагмента модуля %s«, «Модуль должен быть объявлен с непустым именем«, «%sq не является пригодным для импорта заголовком«, «Невозможно импортировать модуль без имени«, «Модуль не может иметь зависимость интерфейса от самого себя«, «Модуль %sq уже импортирован«, «файл модуля«, «не удалось найти файл модуля для модуля %sq«, «не удалось импортировать файл модуля %sq«, «ожидалось %s1, но было найдено %s2«, «При открытии файла модуля %sq«, «Неизвестное имя раздела %sq«, «неизвестный файл модуля«, «импортируемый файл модуля заголовка«, «файл модуля EDG«, «файл модуля IFC«, «непредвиденный файл модуля«, «тип второго операнда %t2 должен иметь тот же размер, что и %t1.«, «тип должен поддерживать элементарное копирование.«, «тип %t сейчас не поддерживается в вычислении constexpr для __builtin_bit_cast.«, «типы классов с битовыми полями %t сейчас не поддерживаются в вычислении constexpr для __builtin_bit_cast.«, «нестатические элементы данных ссылочного типа %t не позволяют выполнять вычисление constexpr для __builtin_bit_cast.«, «непостоянный тип %t не позволяет выполнять вычисление constexpr для __builtin_bit_cast«, «тип %t объединения, указателя или указателя на элемент не позволяет выполнять вычисление constexpr для __builtin_bit_cast.«, «%npTd, унаследованный с помощью decl %p«, «невозможно выполнить конструирование подобъекта %t для наследования конструкторов — связанный конструктор удален«, «%n требует возврата void.«, «недопустимое начало объявления элемента«, «ожидается «auto««, «этот оператор не может использоваться в этом месте; заключите предыдущее выражение new в скобки«, «недопустимое использование концепции«, «оператор сравнения элемента по умолчанию не может быть квалифицирован как «&&««, «функция сравнения constexpr по умолчанию вызывает функцию %nd, не являющуюся constexpr«, «сравнение памяти с помощью constexpr поддерживается только для целых чисел и для массивов целых чисел«, «шаблон концепции не может иметь связанные ограничения«, «использование «export« запрещено«, «экспорт отдельных членов класса запрещен«, «экспортированное объявление должно представлять имя«, «объявление экспорта не может содержать объявление экспорта (предыдущее объявление %p)«, «объявление экспорта не может содержать объявление импорта модуля«, «объявление экспорта может находиться только в блоке интерфейса модуля«, «объявление экспорта не может экспортировать имя с внутренней компоновкой«, «объявление using включает %nfd«, «встроенная функция недоступна, так как типы с плавающей запятой __fp16 не поддерживаются«, «в выражении requires должно быть указано по крайней мере одно требование«, ««constinit« не может использоваться здесь«, ««constinit« может использоваться только для объявлений переменных со сроком хранения в статическом или потоковом хранилище«, «для переменной constinit требуется динамическая инициализация«, «переменная ранее была объявлена с «constinit« %p«, «использование объявления функции, не являющегося прототипом«, «аргумент не может иметь тип, квалифицированный как const«, «недопустимый указатель на член неполного типа %t«, «расширение пакета в init-capture не включено в этом режиме«, «расширение пакета в init-capture — это функция C++ 20«, «оператор сравнения по умолчанию в определении класса должен быть первым объявлением этого оператора сравнения (%nd)«, «расширение пакета в init-capture может быть использовано только в шаблоне с переменным числом аргументов«, «ограничение типа использует %nd, не являющийся концепцией типа (например, шаблон концепции, первый параметр которого является параметром типа)«, «выведенный тип заполнителя %t не отвечает ограничению типа«, «конструктор по умолчанию для %t не соответствует требованиям«, «деструктор для %t является неоднозначным из-за неупорядоченных ограничений«, «деструктор для %t не соответствует требованиям из-за несоблюденных ограничений«, «неоднозначный кандидат деструктора«, «виртуальная функция не может иметь завершающее предложение requires«, «%nd не удовлетворяет его ограничениям«, «результат квалификатора decltype %t не является классом или перечислением«, «cравнение является неоднозначным в стандартном C++ 20, поскольку подразумеваемый оператор сравнения с обратными параметрами является в той же степени подходящим соответствием — как правило, это вызвано отсутствием квалификатора «const« в операторе сравнения; см. %nod«, «недопустимый идентификатор концепции«, «не удалось подставить аргументы %T для предложения requires«, «ограничения для %nd не удовлетворены«, «тип переменной %t в функции constexpr содержит виртуальные базовые классы«, «константное выражение не может выделить виртуальный базовый подобъект (для типа %t)«, «параметр шаблона для типа класса должен иметь тип структурного класса«, «для поддержки литералов UTF-8 требуется поддержка u-literal.«, «сопоставление файла модуля для «%s« указано несколько раз«, «сопоставление блока заголовка для «%s« указано несколько раз«, «сопоставление для «%s« не указано«, «сопоставление файла модуля для «%s« является недопустимым«, «не удается найти заголовок «%s« для импорта«, «несколько файлов в списке файлов модулей соответствуют «%s««, «файл модуля, обнаруженный для «%s«, относится к другому модулю«, «любой тип файла модуля«, «не удалось прочитать файл модуля«, «встроенная функция недоступна, так как тип char8_t не поддерживается с текущими параметрами.«, «невозможно указать параметр командной строки —ms_await, если включены сопрограммы C++20.«, «нестандартное использование явного конструктора %nod для агрегатной инициализации элементов по умолчанию.«, «источник или назначение встроенной функции, похожей на memcpy, не указывает на объект«, «Встроенная функция, похожая на memcpy, пытается скопировать различные с точки зрения представления типы %t1 и %t2«, «Встроенная функция, похожая на memcpy, пытается скопировать нетривиально копируемый тип %t«, «Встроенная функция, похожая на memcpy, пытается скопировать частичный объект«, «Встроенная функция, похожая на memcpy, пытается выполнить копирование за границей массива«, «Встроенная функция, похожая на memcpy, пытается скопировать перекрывающиеся диапазоны байтов (вместо использования соответствующей операции memmove)«, «дружественное объявление с завершающим предложением requires должно быть определением«, «выражение должно иметь арифметический тип или тип указателя, но имеет тип %t«, «выражение должно иметь арифметический тип, тип перечисления или тип указателя, но имеет тип %t«, «выражение должно иметь арифметический тип, тип перечисления без области или тип указателя, но имеет тип %t«, «выражение должно иметь тип указателя, но имеет тип %t«, «оператор -> или ->* применяется к %t, а не к типу указателя«, «недопустимый неполный тип класса %t«, «не удается интерпретировать битовый макет для этого целевого объекта компиляции«, «отсутствует соответствующий оператор для оператора IFC %sq«, «отсутствует соответствующее соглашение о вызовах для соглашения о вызовах IFC %sq«, «модуль %sq содержит неподдерживаемые конструкции«, «неподдерживаемая конструкция IFC: %sq«, «__is_signed больше не является ключевым словом из этой точки«, «измерение массива должно иметь постоянное целочисленное значение без знака«, «файл IFC %sq имеет неподдерживаемую версию %d1.%d2«, «модули не включены в этом режиме«, «слово «import« не допускается в имени модуля«, «слово «module« не допускается в имени модуля«, null, null, «%n не является типом перечисления«, «перечислитель %no2 конфликтует с %n1«, «перечислитель %no уже объявлен в этой области %p«, «спецификация «throw()« не входит в C++20 и более поздние версии«, «несколько записей в карте блока заголовка соответствуют «%s««, «диагностика #pragma должна иметь аргумент «push« или «pop««, «не найден параметр «#pragma diagnostic push«, соответствующий этому «diagnostic pop««, «%sq не может быть макросом при использовании в директиве «import« или «module««, «эта директива может использоваться только в области глобального пространства имен«, «объявление «export« может использоваться только в глобальной области или области пространства имен«, «%sq анализируется как идентификатор, а не как ключевое слово, поскольку следующие токены не соответствуют токенам директивы препроцессора«, «это выглядит как начало директивы препроцессора, однако должен присутствовать знак «;«, за которым идет переход на новую строку«, «по-видимому, это директива препроцессора модулей, но такие директивы не могут присутствовать в расширении макроса«, «директива «module« не может находиться в области условного включения (например, #if, #else, #elseif и т. д.)«, «импорт %sq был пропущен«, «тип обещания %t должен объявить get_return_object_on_allocation_failure как элемент статической функции, не требующий аргументов«, «шаблон псевдонима не может быть явно специализированным«, «в соответствие с этим «{««, «в этом вызове макроса«, «для вызова требуется неоднозначное преобразование аргумента«, «объявление, которым владеет модуль %s, конфликтует с %nd«, «объявление, которым владеет глобальный модуль, конфликтует с %nd, которым владеет именованный модуль«, «первый аргумент атрибута «malloc« должен быть функцией«, «не удается захватить %nod«, «не удается захватить «this««, «уже в контексте consteval«, «Для «if consteval« и «if not consteval« требуются зависимые операторы в фигурных скобках«, ««if consteval« и «if not consteval« не имеют смысла в функции, отличной от constexpr«, «передача управления оператору «if consteval« или «if not consteval« не допускается«, «вычисление константы не может проходить через объявление переменной со статической длительностью или длительностью хранилища потока«, «изменяемый квалификатор недопустим для лямбды с явным параметром «this««, «функция-член, объявленная со значением «static«, не может иметь явный параметр «this««, «явный параметр «this« должен быть первым объявленным параметром«, ««this« здесь не разрешено«, «функция сравнения с явным параметром «this« не может быть задана по умолчанию«, «для явной функции «this« требуется операнд селектора«, ««if consteval« и «if not consteval« не являются стандартными в этом режиме«, «опущение «()« в лямбда-операторе объявления является нестандартным в этом режиме«, «конечное предложение requires не допускается, если список лямбда-параметров опущен«, «запрошен недопустимый раздел модуля %sq«, «запрошен неопределенный раздел модуля %sq1 (предполагается — %sq2)«, «модуль %sq1, позиция файла %d1 (относительная позиция %d2) запрошена для раздела %sq2, который пуст«, «модуль %sq1, позиция файла %d1 (относительная позиция %d2) запрошена для раздела %sq2, который находится перед началом раздела«, «модуль %sq1, позиция файла %d1 (относительная позиция %d2) для раздела %sq2, который переполняет окончание этого раздела«, «модуль %sq1, позиция файла %d1 (относительная позиция %d2) запрошена для раздела %sq2, который не выровнен по элементам разделов«, «из подполя %sq (относительное положение к узлу %d)«, «из раздела %sq, элемент %d1 (позиция файла %d2, относительная позиция %d3)«, «здесь нестандартные лямбда-атрибуты«, «идентификатор %sq можно перепутать с визуально похожим %p«, «этот комментарий содержит подозрительные управляющие символы форматирования Юникода«, «эта строка содержит управляющие символы форматирования Юникода, которые могут привести к непредвиденной работе среды выполнения«, «обнаружено %d1 подавленное предупреждение при обработке модуля %sq1«, «обнаружено несколько (%d1) подавленных предупреждений при обработке модуля %sq1«, «Обнаружена %d1 подавленная ошибка при обработке модуля %sq1«, «Обнаружено несколько (%d1) подавленных ошибок при обработке модуля %sq1«, «включая«, «подавлено«, «виртуальная функция-член не может иметь явный параметр «this««, «для получения адреса явной функции «this« требуется полное имя«, «для формирования адреса явной функции «this« требуется оператор «&««, «строковый литерал нельзя использовать для инициализации элемента гибкого массива«, «Представление IFC определения функции %sq недопустимо«, «внесено исправление для удаления неявного параметра «this««, «диаграмма IFC UniLevel не использовалось для указания параметров«, «несколько (%d1) параметров указаны в диаграмме определения параметров IFC, в то время как несколько (%d2) параметров указаны в объявлении IFC«, «%d1 параметр указан в диаграмме определения параметров IFC, в то время как несколько (%d2) параметров указаны в объявлении IFC«, «несколько (%d1) параметров указаны в диаграмме определения параметров IFC, в то время как %d2 параметр указан в объявлении IFC«, «Представление IFC определения функции %sq отсутствует«, «модификатор функции не применяется к объявлению шаблона элемента«, «выбор элемента включает слишком много вложенных анонимных типов«, «между операндами нет общего типа«, «необходим указатель на элемент«, «гибкий элемент массива не может быть объявлен в пустом типе«, «ожидается, что »std::source_location::__impl» будет определен для класса только с элементами данных »_M_function_name», »_M_file_name», »_M_column», »_M_line»«, «заданный номер столбца слишком велик для реализации «std::source_location««, «заданный номер строки слишком велик для реализации «std::source_location««, «символьная константа UTF-16 не может занимать более одной кодовой единицы; значение усечено«, «оба аргумента должны быть одного типа«, «тип %t недопустим в качестве аргумента для этой встроенной функции.«, «вызвано из %nd:«, «нестандартный тип с квалификатором для анонимных битовых полей«, «тип элемента векторного условия (%t1) должен иметь тот же размер, что и тип элемента результата (%t2)«, «тип векторного операнда с плавающей запятой (%t) не имеет соответствующего целочисленного векторного типа«, «искажение для выражений «requires« еще не реализовано«, «из-за атрибута «unavailable««, «дубликат квалификатора «asm««, «битовые поля с неполным типом или непрозрачное перечисление с недопустимым базовым типом«, «попытка создать элемент из раздела IFC %sq с использованием индекса в разделе IFC %sq2«, «раздел %sq указал размер своей записи как %d1, в то время как ожидалось %d2«, «При обработке модуля %sq1 было обнаружено неожиданное требование IFC«, «сбой условия в строке %d в %s1: %sq2«, «атомарное ограничение зависит от самого себя«, «Функция «noreturn« имеет не недействительный тип возврата«, «исправление внесено путем удаления параметра %sq (по относительному индексу %d)«, «аргумент шаблона по умолчанию не может быть указан в определении шаблона элемента вне его класса«, «обнаружено недопустимое имя идентификатора IFC %sq во время реконструкции сущности«, «недопустимое имя идентификатора IFC %sq пропущено во время реконструкции сущности«, «недопустимое значение сортировки модуля %sq«, «шаблон функции, загруженный из модуля IFC, был неправильно проанализирован как %nd«, «не удалось загрузить ссылку на объект IFC в модуль %sq«, «из раздела %sq, элемент %d1 (позиция файла %d2, относительная позиция %d3)«, «цепные обозначения не разрешены для типа класса с нетривиальным деструктором«, «явное объявление специализации не может быть объявлением дружественной функции«, «тип std::float128_t не поддерживается; вместо этого будет использоваться std::float64_t«, «тип std::bfloat16_t не поддерживается; вместо этого будет использоваться std::float32_t«, «руководство по дедукции не может быть объявлено для шаблона псевдонима %no« ]

Когда я читал о функциях в C ++, меня учили, что функциям нужны объявления для вызова. Например:

#include <iostream>

int main() {
  std::cout << "The result is " << sum(1, 2);
  return 0;
}

int sum(int x, int y) {
  return x + y;
}

Возвращает ошибку, поскольку для функции sum нет объявления.

main.cpp:4:36: error: use of undeclared identifier 'sum'
  std::cout << "The result is " << sum(1, 2);
                                   ^
1 error generated.

Чтобы это исправить, я бы добавил объявление:

#include <iostream>

int sum(int x, int y); // declaration

int main() {
  std::cout << "The result is " << sum(1, 2);
  return 0;
}

int sum(int x, int y) {
  return x + y;
}

Мой вопрос: почему мы не добавляем объявление для функции main, как нам нужно было бы добавить для других функций, таких как sum?

7 ответов

Лучший ответ

Определение функции также является объявлением функции.

Цель объявления функции — сделать ее известной компилятору. Объявление функции без ее определения позволяет использовать функцию там, где ее неудобно определять. Например:

  • Если функция используется в исходном файле (A), отличном от того, который определен в (B), нам нужно объявить ее в A (обычно через заголовок, который включает A, например, B.h).
  • Если две или более функции могут вызывать друг друга, то мы не можем определить все эти функции раньше других — одна из них должна быть первой. Таким образом, декларации могут быть предоставлены в первую очередь, а определения — позже.
  • Многие люди предпочитают помещать подпрограммы «более высокого уровня» ранее в исходный файл, а подпрограммы позже. Поскольку эти подпрограммы «более высокого уровня» вызывают различные подпрограммы, подпрограммы должны быть объявлены ранее.

В C ++ пользовательская программа никогда не вызывает main, поэтому ей никогда не требуется объявление перед определением. (Обратите внимание, что вы можете предоставить его, если хотите. В объявлении main нет ничего особенного.) В C программа может вызывать main. В этом случае требуется, чтобы объявление было видимым до вызова.

Обратите внимание, что main должен быть известен коду, который его вызывает. Это специальный код в том, что обычно называется кодом запуска C ++. Компоновщик включает этот код для вас автоматически, когда вы связываете программу C ++ с соответствующими параметрами компоновщика. Независимо от того, на каком языке написан этот код, он имеет любое объявление main, необходимое для правильного вызова.


62

Eric Postpischil
1 Апр 2019 в 20:28

Прототип необходим, если вы хотите вызвать функцию, но он еще не доступен, как sum в вашем случае.

Вы не должны вызывать main самостоятельно, поэтому нет необходимости иметь прототип. Это даже плохая идея написать прототип.


34

Matthieu Brucher
2 Апр 2019 в 15:42

Запрещено вызывать main из вашей программы. Это означает, что единственное, что будет вызывать его, это среда выполнения, и компилятор / компоновщик может обработать его настройку. Это означает, что вам не нужен прототип для main.


10

NathanOliver
1 Апр 2019 в 14:41

Определение функции также неявно объявляет ее. Если вам нужно ссылаться на функцию до ее определения, вам нужно объявить ее перед использованием.

Таким образом, написание следующего также допустимо:

int sum(int x, int y) {
  return x + y;
}

int main() {
  std::cout << "The result is " << sum(1, 2);
  return 0;
}

Если вы используете объявление в одном файле, чтобы сделать функцию известной компилятору до ее определения, то ее определение должно быть известно во время компоновки:

main.cpp

int sum(int x, int y);

int main() {
  std::cout << "The result is " << sum(1, 2);
  return 0;
}

< Сильный > sum.cpp

int sum(int x, int y) {
  return x + y;
}

Или sum может происходить из библиотеки, так что вы даже сами не скомпилируете его.

Функция main нигде не используется / не упоминается в вашем коде, поэтому нет необходимости добавлять объявление main в любом месте.

До и после вашей функции main библиотека c ++ может выполнить некоторые шаги инициализации и очистки и вызвать вашу функцию main. Если эта часть библиотеки будет представлена как код c ++, то она будет содержать объявление int main(), чтобы ее можно было скомпилировать. Этот код может выглядеть так:

int main();

int __main() {
  __startup_runtime();

  main();

  __cleanup_runtime();
}

Но затем у вас снова возникает та же проблема с __main, поэтому в какой-то момент c ++ больше не существует, и определенная функция (main) просто представляет точку входа вашего кода.


7

t.niese
1 Апр 2019 в 20:49

Нет. Вы не можете назвать это так или иначе.

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

Но вы не можете вызвать main в C ++, поэтому он вам не нужен. Это потому, что компилятору C ++ разрешено изменять main для выполнения глобальной инициализации.

[Я посмотрел на crt0.c, и у него есть объявление для main, но это ни здесь, ни там].


5

Joshua
1 Апр 2019 в 14:44

Нет, компилятору не требуется предварительное объявление для main().

main() — это специальная функция в C ++.

Некоторые важные вещи, которые нужно помнить о main ():

  1. Компоновщик требует, чтобы при создании исполняемой программы существовала одна-единственная функция main().
  2. Компилятор ожидает функцию main () в одной из следующих двух форм:
int main () { /* body */ } 
int main (int argc, char *argv[]) { /* body */ } 

Где body ноль или более операторов

Дополнительная приемлемая форма зависит от реализации и предоставляет список переменных среды во время вызова функции:

int main (int argc, char* argv[], char *envp[]) { /* body */ }

Кодировщик должен предоставить «определение» main, используя одну из этих приемлемых форм, но кодировщик не должен предоставлять декларацию. Кодированное определение принимается компилятором как объявление main ().

  1. Если оператор возврата не предоставлен, компилятор предоставит return 0; в качестве последнего оператора в теле функции.

Кроме того, иногда возникает путаница относительно того, может ли программа на C ++ вызывать функцию main (). Это не рекомендуется. В проекте C ++ 17 говорится, что main () «не должен использоваться внутри программы». Другими словами, не может быть вызван из программы. Смотрите, например Рабочий проект стандарта для языка программирования C ++, датированный » 2017-03-21 «, пункт 6.6.1.3, стр. 66. Я понимаю, что некоторые компиляторы поддерживают это (включая мой), но следующая версия компилятора может изменить или удалить это поведение, так как в стандарте используется термин «не будет».


25

Henry Malinowski
2 Апр 2019 в 10:02

Меня учили, что функциям нужны объявления для вызова.

Верно. Функция должна быть объявлена до того, как она может быть вызвана.

почему мы не добавляем объявление для функции main?

Ну, вы не вызывали функцию main. На самом деле вы не должны вызывать main вообще 1 , поэтому никогда не нужно объявлять main перед чем-либо.

Хотя технически все определения также являются объявлениями, поэтому ваше определение main также объявляет main.


Сноска 1. Стандарт C ++ гласит, что вызывать main из программы не определено.

Это позволяет реализациям C ++ помещать специальный стартовый код однократного запуска в верхнюю часть main, если они не могут запустить его ранее из-за перехватов в коде запуска, который обычно вызывает main. Некоторые реальные реализации действительно делают это, например, вызов функции быстрой математики, которая устанавливает некоторые флаги FPU, такие как denormals-are-zero.

В гипотетической реализации вызов main может привести к таким забавным вещам, как повторный запуск конструкторов для всех статических переменных, повторная инициализация структур данных, используемых new / delete для отслеживания распределений, или других итоговых значений. поломка вашей программы. Или это может не вызвать никаких проблем. Неопределенное поведение не означает, что у есть сбой в каждой реализации.


41

Peter Cordes
2 Апр 2019 в 10:49

Понравилась статья? Поделить с друзьями:
  • Требуется действие нет подключения к интернету как исправить
  • Требуется внешний накопитель play market как исправить
  • Требуется авторизация как исправить
  • Требуется while c ошибка
  • Требуемый адрес для своего контекста неверен error 10049 flylinkdc