Четвертый Borland C++ и его окружение

       

- A -


Abnormal program termination


Сообщение об ошибке этапа выполнения

(аварийное завершение программы)

Данное сообщение может выводиться, если для выполнения программы не может быть выделено достаточного количества памяти. Вызов Abort также приводит к появлению данного сообщения.

Access can only be changed to public or protected


Сообщение об ошибке этапа компиляции

(тип доступа может быть изменен только на public или

protected)

Производный класс С++ может модифицировать права доступа

члена базового класса, но только на public или protected. Элемент

базового класса нельзя сделать private.

Added file имя_файла does not begin correctly, ignored


Предупреждение утилиты TLIB

(некорректно начинается добавляемый файл имя_файла, поэтому

он игнорируется)

Библиотекарь определил, что форма добавляемого к объектному

файлу модуля некорректна, поэтому он не пытается добавить его к

библиотеке. Библиотека тем не менее создается.

Address of overloaded function функция doesn't match тип


Сообщение об ошибке этапа компиляции

(адрес переопределяемой функции не соответствует типу)

Переменной или параметру присваивается адрес переопределяемой функции (или выполняется инициализация переменной с использованием данного адреса), а тип переменной или параметра не совпадает с типом переопределяемой функции с заданным именем.

модуль isAlready in LIB, not changed


Предупреждение утилиты TLIB

(модуль уже находится в библиотеке и не изменятся)

Для библиотеки была попытка выполнить действие +. но объект

с таким именем уже есть в библиотеке. Если требуется обновление

модуля, то действием должно быть +-. Библиотека не модифицируется.

Ambiquity between функция_1And функция_2


Сообщение об ошибке этапа компиляции

(неоднозначность между функцией_1 и функцией_2)

С переданными параметрами могут использоваться обе названные

переопределенные функции. Такая неоднозначность недопустима.

Ambiguous member name имя


Сообщение об ошибке этапа компиляции

(неоднозначное имя элемента)




Элемент структуры имя, используемый во встроенном ассемблере, должен быть уникален. Если определяется более одной структуры, то все определения должны соответствовать типу и смещению в

структурах. В данном случае элемент с указанным именем является

неоднозначным. Используйте синтаксис: (struc xxx).yyy.

Ambiguous Override of Virtual Base Member функция1: функция2



Сообщение об ошибке этапа компиляции

(неоднозначное переопределение виртуальной базовой функции)

Виртуальная функция виртуального базового класса переопределяется двумя или более различными функциями в различных ветвях

иерархии наследования.

Ambiguous operators need parentheses



Предупреждение этапа компиляции

(неоднозначные операции требуют круглых скобок)

Данное предупреждение выдается, две операции сдвига, отношения или поразрядные логические операции используются вместе без

круглых скобок. Кроме того это предупреждение появится, если операция вычитания используется без скобок вместе с операцией сдвига. Программисты часто путают приоритеты этих операций, поскольку

присвоенные им приоритеты не очевидны.

Ambiguous override of virtual base member базовая_функция:

производная_функция


Сообщение об ошибке этапа компиляции

(неоднозначное переопределение виртуальной базовой функции-элемента в производной функции)

Виртуальная функция, определенная в виртуальном базовом

классе, переопределяется в двух различных классах с одинаковой

иерархией наследования.

Application load & execute error 0001

Application load & execute error FFE0

Фатальная ошибка командной строки

(ошибка загрузки и выполнения прикладной программы)

Не хватает расширенной памяти для загрузки средств командной

строки защищенного режима.

Application load & execute error FFE0



Фатальная ошибка командной строки

Не хватает расширенной памяти для загрузки средств командной

строки защищенного режима.

ArrayAllocated using new may not haveAn initializer



Сообщение об ошибке этапа компиляции

(в выделении массива с помощью new может отсутствовать инициализатор)



При инициализации вектора (массива) классов вы должны использовать конструктор без аргументов. Это называется конструктором, используемым по умолчанию, что означает, что вы можете при

инициализации такого вектора не указывать аргументы.

Array bounds missing ]

Сообщение об ошибке этапа компиляции

(в задании границ массива отсутствует ])

В исходном файле в объявлении границ массива отсутствует

закрывающая квадратная скобка.

Array must haveAt least one element



Сообщение об ошибке этапа компиляции

(массив должен иметь хотя бы один элемент)

Язык Си стандартаANSI и С++ требуют, чтобы массив определялся хотя бы с одним элементом (объекты нулевого размера недопустимы). Существует старый программистский прием, состоящий в

том, чтобы объявить элемент структуры типа массива нулевого размера, а уже затем при помощи функции malloc распределить фактически требуемую память. Этот прием по-прежнему можно использовать, но теперь вы обязаны объявлять массив, как имеющий (как минимум) один элемент. Разумеется, объявления (в противоположность

определениям) массивов неизвестного размера допустимы.

Например:

char ray[] /* определение массива неизвестного размера

недопустимо */

char ray[0] /* определение массива нулевого размера

недопустимо */

extern char ray(); /* объявление с незаданным размером -

допустимо */

Array of references is notAllowed



Сообщение об ошибке этапа компиляции

(массив ссылок недопустим)

Массив ссылок недопустим, поскольку указатели на ссылки недопустимы, а имена массивов встраиваются в указатели.

Array size for 'delete' ignored

Предупреждение этапа компиляции

(размер массива для 'delete' игнорируется)

В последней спецификации С++ больше нет необходимости при

удалении массива задавать его массив. Чтобы можно было компилировать старый код, компилятор игнорирует такую конструкцию и выводит предупреждение.

Array size too lange



Сообщение об ошибке этапа компиляции

(размер массива слишком велик)

Объявленный массив превышает 64К.

Array variable идентификатор is near





Предупреждение этапа компиляции

(переменная-массив идентификатор является ближней)

При использовании параметров командной строки -Ff или -Fm

или команды интегрированной среды Options CompilerAdvanced Code

Generation... Far Data Treshhold глобальные переменные, превышающие пороговый размер, автоматически делаются компилятором дальними (far). Однако, если переменная является инициализированным

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

массива инициализаторов вызывает превышение общим размером переменной порогового значения размера данных, то компилятор выдает

это предупреждение. Если тот факт, что компилятор сделал переменную ближней, вызывает проблемы (например, компоновщик сообщает о

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

Assembler statement too long



Сообщение об ошибке этапа компиляции

(слишком длинный ассемблерный оператор)

Операторы встроенного ассемблера не могут превышать по длине

480 байт.

Assigning тип to перечислимый_тип



Предупреждение этапа компиляции

(присваивание типа перечислимому типу)

Присваивание целочисленного значения типу enum. Это является

ошибкой в C++, но выдаваемое сообщение имеет уровень предупреждения, и программа может заработать.

Assignment to this is notAllowed, use X::operator new instead



Сообщение об ошибке этапа компиляции

(такое присваивание не допускается, используйте вместо него

X::operator new)

В старых версиях С++ единственный способ управления распределением класса объектов заключался в присваивании параметру this

внутри конструктора. Теперь это отменено, поскольку существует

более эффективный, надежный и более общий способ, состоящий в определении функции-элемента operator new.

Attempt to export non-public symbol идентификатор





Предупреждение утилиты TLINK

( попытка экспорта идентификатора, не являющегося общедоступным)

Имя идентификатора было указано в разделе EXPORTS файла определения модуля, но идентификатор с данным именем не найден в

компонуемых модулях, как общедоступный. Это может быть вызвано

опечаткой в имени или тем, что не определена процедура с таким

именем.

Attempt to grant or reduceAccess to идентификатор



Сообщение об ошибке этапа компиляции

(попытка предоставить или ограничить доступ к идентификатору)

Производный класс С++ может модифицировать полномочия доступа к элементу базового класса, но только восстанавливая их в полномочия базового класса. В нем не могут добавляться или ограничиваться эти полномочия.

Attempting to returnA reference toA local object



Сообщение об ошибке этапа компиляции

(попытка вернуть ссылку на локальный объект)

В функции, возвращающей ссылочный тип, вы попытались вернуть

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

временный объект исчезнет, то ссылка на него недопустима.

Attempting to returnA reference to local name идентификатор



Сообщение об ошибке этапа компиляции

(попытка вернуть ссылку на локальное имя идентификатор)

Данная функция С++ возвращает значение типа ссылки, и вы пытаетесь вернуть ссылку на локальную (динамическую) переменную.

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

уничтожается. Вы можете вернуть ссылку на любую статическую или

глобальную переменную, либо изменить функцию таким образом, чтобы

возвращалась не ссылка, а само значение.


Содержание раздела