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

       

- I -


Identifier expected

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

(требуется идентификатор)

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

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

двойного двоеточия (::) и после резервируемого слова operator при

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

Identifier идентификатор cannot have a type qualifier

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

(идентификатор "идентификатор" не может иметь квалификатор

типа)

Квалификатор С++ класс::идентификатор здесь неприменим. Квалификатор не разрешен для имен typedef, объявлений функций (за

исключением определения на уровне файла) или локальных переменных



и параметров функций, либо для элементов класса, за исключением

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

If statement missing (

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

(в операторе if отсутствует ()

В операторе if компилятор не нашел левой (открывающей) круглой скобки после ключевого слова if.

If statement missing )

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

(В операторе if отсутствует ))

В операторе if компилятор не нашел правой (закрывающей)

круглой скобки после выражения проверки.

If statement too long

Сообщение об ошибке утилиты MAKE

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

Оператор if превышает 4096 символов.

Ifdef statement too long

Сообщение об ошибке утилиты MAKE

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

Оператор ifdef превышает 4096 символов.

Ifndef statement too long

Сообщение об ошибке утилиты MAKE

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

Оператор ifndef превышает 4096 символов.

Ignored модуль, path is too long

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

(модуль игнорируется, слишком длинный маршрут)




Маршрут к заданному файлу .obj или . lib превышает 64 символа. Максимальный маршрут в TLIB не может превышать 64 символа.

Illegal ACBP byte in SEGDEF

Сообщение об ошибке утилиты TLINK

(недопустимый байт ACBP в SEGDEF)

Обычно это вызывается ошибкой транслятора.

Illegal character in constant expression выражение

Сообщение об ошибке утилиты MAKE

(неверный символ в константном выражении)

Обслуживающая программа МAKE обнаружила некоторый символ,

недопустимый для выражения-константы. Если этим символом является

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

синтаксическая ошибка.

Illegal component to GRPDEF

Сообщение об ошибке утилиты TLINK

(недопустимый компонент GRPDEF)

Обычно это вызывается ошибкой транслятора.

Illegal group definition: группа

Сообщение об ошибке утилиты TLINK

(недопустимое определения группы)

Данная ошибка вызывается неверно сформированной записью

GRPDEF в файле .OBJ. Это может вызываться "самодельными" файлами

.OBJ или ошибкой транслятора, использованного для генерации файла

.OBJ. Если это происходит в файле, скомпилированном в Borland

C++, перекомпилируйте файл. При сохранении ошибки обратитесь к

фирме Borland.

Illegal initialization

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

(недопустимая инициализация)

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

или минус константа.

Illegal octal digit

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

(недопустимая восьмеричная цифра)

Компилятор встретил восьмеричную константу с недопустимой в

восьмеричных числах цифрой (8 или 9).

Illegal parameter to __emit__

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

(недопустимый параметр __emit__)

Вы указали аргумент emit, который не является константой или

адресом.

Illegal pointer substraction

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

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

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

Illegal structure operation



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

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

Структуры могут использоваться только в операциях точки (.),

получения адреса (&) или присваивания (=), либо передаваться в

функции и из функций в качестве параметров. Компилятор встретил

структуру, используемую с какой-либо другой операцией.

Illegal to take address of bit field

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

(недопустимо получать адрес битового поля)

Недопустимо получать адрес битового поля, хотя получать адрес любых других полей можно.

Illegal use of floating point

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

(недопустимое использование плавающей точки)

Операнды с плавающей точкой недопустимы в операциях сдвига,

поразрядных булевских операциях, обращения по ссылке (*) и некоторых других операциях. Компилятор в качестве операнда одной из

этих операций обнаружил число с плавающей точкой.

Illegal use of member pointer

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

(недопустимое использование указателя-элемента)

Указатели на классы могут использоваться операциями присваивания, сравнения обращения по ссылке (*), ->*, ?:, && и ||. В исходном файле обнаружен указатель-элемент с какой-либо другой операцией.

Illegal use of pointer

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

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

Указатели могут использоваться операциями сложения, вычитания, присваивания, обращения по ссылке (*) и стрелки (->). В исходном файле обнаружен указатель с какой-либо другой операцией.

Ill-formed pragma

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

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

Директива pragma не соответствует ни одной из ожидаемых компилятором директив этого рода.

Image base address must be a multiple of 0x10000

Сообщение об ошибке утилиты TLINK

(базовый адрес модуля должен быть кратен 0x10000)

Базовый адрес должен выравниваться на границу 64К.

Images fixed at specific addresses typically will not run under Win32s

Предупреждение TLINK

(Фиксированные на конкретные адреса модули обычно в Win32



обычно не работают)

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

Implicit conversion of тип_1 to тип_2 not allowed

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

(неявное преобразование типа_1 к типу_2 не допускается)

Когда функция-элемент или класс вызываются с использованием

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

преобразовываться, чтобы указывать на соответствующий базовый

класс. В данном случае такое неявное преобразование недопустимо.

Improper use of typedef идентификатор

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

(неправильное использование typedef)

Там, где в выражении должна использоваться переменная, указан typedef идентификатор. Проверьте описание идентификатора и

возможные опечатки.

имя_файла(номер_строки): Incompatible attribute

Сообщение об ошибке утилиты TLINK

(несовместимый атрибут)

Компоновщик TLINK обнаружил в операторе CODE или DATA несовместимый атрибут сегмента. Например, PRELOAD и LOADONCALL одновременно не могут быть атрибутами одного и того же сегмента.

Incompatible type conversion

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

(Несовместимое преобразование типа)

Требуемое приведение типа невозможно.

Incorrect command-line argument: XXX

Сообщение о фатальной ошибке утилиты MAKE

(Неверный аргумент в командной строке: ХХХ)

Данная ошибка появляется, если обслуживающая программа МAKE

выполняется с неверным аргументом в командной строке.

Incorrect command-line option: параметр

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

(Неправильный параметр командной строки: параметр)

Компилятор не распознает параметр командной строки как допустимый параметр.

Incorrect configuration file option: параметр

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

(Неправильный параметр файла конфигурации: параметр)



Компилятор не распознает параметр файла конфигурации как допустимый параметр. Проверьте наличие предшествующего дефиса (-).

Incorrect number format

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

(Неправильный формат числа)

Компилятор обнаружил в шестнадцатиричном числе десятичную

точку.

Incorrect use of default

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

(Неправильное использование слова default)

Компилятор не нашел после ключевого слова default двоеточия.

Incorrect version of RLINK32.DLL

Сообщение об ошибке утилиты TLINK

(некорректная версия RLINK32.DLL)

Проверьте версию указанной DLL.

Initializing enumeration type with тип

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

(инициализация перечислимого типа указанным типом)

Вы пытаетесь инициализировать переменную enum другим типом.

Например:

enum count { zero, one, two } x = 2;

что приведет к данному предупреждению, поскольку 2 имеет тип int,

а не enum count. При присваивании или инициализации типов enum на

практике вместо литерального целочисленного значения при программировании лучше использовать идентификатор enum.

Это на самом деле ошибка, но она сводится к предупреждению,

чтобы программа могла работать.

Inline assembly not allowed

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

(встроенное ассемблер не разрешается)

Ваш исходный файл содержит операторы ассемблера, и вы пытаетесь скомпилировать его из интегрированной среды. Нужно использовать BCC.

Inline assembly not allowed in inline and template function

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

(встроенное ассемблирование во встраиваемой функции и функ ции-шаблоне запрещено)

Компилятор не может обрабатывать операторы встроенного ассемблирования внутри встраиваемых (inline) функций С++ или шаблонов. Ассемблерные операторы можно оформить в макрокоманду, либо

вы можете убрать класс памяти inline, или можно убрать встроенные

ассемблерные коды.

Int and string types compared

Сообщение об ошибке утилиты MAKE

(сравниваются строковый и целый типы)

В выражении !if или !elseif вы пытаетесь сравнить целочисленный операнд со строковым.



Internal linker error код_ошибки

Сообщение об ошибке утилиты TLINK

(внутренняя ошибка компоновщика)

Ошибка во внутренней логике TLINK. На практике такая ошибка

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

Invalid combination of opcode and operands

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

(Неверная комбинация кода операции и операндов)

Ассемблерный код операции не принимает данную комбинацию операндов. Возможные причины:

  • Слишком много или мало операндов для данного кода опера ции, например INC AX,BX или MOV AX.


  • Число операндов верное, но их типы не соответствуют коду

    операции, например DEC 1, MOV AX,CL или MOV 1,AX.


  • Invalid entry point offset

    Сообщение об ошибке утилиты TLINK

    Данное сообщение выводится только при компоновке модулей с

    32-битовыми записями. Это означает, что смещение начальной точки

    входы программы превышает предел DOS в 32К.

    Invalid indirection

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

    (Недопустимое обращение по ссылке)

    Операция обращения по ссылке (*) требует в качестве операнда

    непустого (не void) указателя.

    Invalid limit specified for code segment packingv

    Сообщение об ошибке утилиты TLINK

    (для упаковки сегмента кода задано недопустимое ограничение)

    Данная ошибка происходит, если вы использовали параметр /P

    или команду интегрированной среды Options Linker ...Pack code

    segments и задаете предельное значение размера, выходящее за допустимый диапазон. Чтобы значение было допустимым, оно должно лежать в пределах от 1 до 65536 байт (по умолчанию 8192).

    Invalid macro argument separator

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

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

    В определении макрокоманды аргументы должны разделяться запятыми. Компилятор встретил после последнего имени аргумента другой символ разделителя.

    Invalid page size value igored

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

    (недопустимое значение размера страницы игнорируется)



    Задано недопустимое значение размера страницы. Размер страницы должен быть степенью числа 2 и не может быть меньше 16 или

    больше 32768.

    Invalid pointer addition

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

    (Недопустимое сложение указателей)

    В исходном файле встретилась попытка сложения двух указателей.

    Invalid register combination (e.g. [BP+BX])

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

    (Неверная комбинация регистров (например, [BP+BX]))

    Допустимыми комбинациями индексных регистров являются [BX],

    [BP], [SI], [DI], [BX+SI], [BX+DI], [BP+SI] и [BP+DI]. Другие

    комбинации индексных регистров (например, [AX], [BP+BX] и

    [SI+DX]) недопустимы.

    Локальные переменные (переменные, объявленные в процедурах и

    функциях) обычно выделяются в стеке и доступны через регистр BP.

    Ассемблер автоматически прибавляет [BP] при ссылках к таким переменным, поэтому даже хотя конструкция типа Local[BX] (где Local это локальная переменная) кажется верной, это не так, поскольку

    последний операнд на самом деле станет равным Local[BP+ BX].

    Invalid segment definition

    Сообщение об ошибке утилиты TLINK

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

    Компилятором создан неверный объектный файл. Если это происходит в файле, созданном Borland C++, перекомпилируйте файл. Если

    ошибка остается, свяжитесь с Borland.

    Invalid template argument list

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

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

    В описании шаблона за ключевым словом template должен следовать список формальных аргументов, заключенных в угловые скобки

    (<>). Найден недопустимый список аргументов шаблона.

    Invalid template qualified name шаблон::имя

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

    (недопустимое уточненное имя шаблона)

    При определении элемента шаблона класса фактические аргументы имени шаблона класса, которые указываются в левом операнде

    операции ::, должны соответствовать формальным аргументам класса

    шаблона, например:

    template <class T> class X

    {

    VOID F();

    };

    template <class T> void X<T>::f() {}



    Следующее недопустимо:

    template <class T> void X<int>::f() {}

    Invalid use of dot

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

    (Недопустимое использование точки)

    За операцией "точка" (.) должен непосредственно следовать

    операнд.

    Invalid use of template шаблон

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

    (недопустимое использование шаблона)

    Вне определения шаблона не допускается использование имени

    шаблона класса без указания фактических параметров. Например, вы

    можете использовать vector<int>, но не vector.

    Irreducible expression tree

    Фатальная ошибка этапа компиляции

    (неупрощаемое дерево выражения)

    Это сообщение указывает на некоторую ошибку компилятора. Выражение в указанной строке исходного файла вызвало условие, когда

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

    вы получите такое сообщение, уведомьте об этом фирму Borland.

    базовый_класс is indirect virtual base class of класс

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

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

    классом для класса класс)

    Невозможно создать указатель на элемент С++ заданного виртуального класса. Была попытка создания такого указателя (непосредственно или через приведение). См. описание параметра -Vv в

    "Руководстве пользователя".

    идентификатор is assigned a value that is never user

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

    Переменная встречается в присваивании, но не используется в

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

    что компилятор обнаружил закрывающую фигурную скобку.

    идентификатор is declared as both external and static

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

    (идентификатор объявлен сразу как external и static)

    Данный идентификатор появился в объявлении, неявно или явно

    обозначающем его как global или external, и кроме того, в объявлении, обозначающем его как static. Идентификатор в таком случае

    считается static. Проверьте все описания данного идентификатора.



    идентификатор is declared but never used

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

    (идентификатор описан, но не используется)

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

    находится в начале этого оператора или функции.

    конструктор is not a base class of класс

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

    (конструктор не относится к базовому классу класс)

    Конструктор класса С++ класс пытается вызвать конструктор

    базового класса конструктор, либо вы пытаетесь изменить права

    доступа класс::конструктор. Конструктор не относится к базовому

    классу класс. Проверьте объявления.

    идентификатор is not a member of struct

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

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

    Вы пытаетесь сослаться на идентификатор, как на элемент

    структуры, в то время как он не является элементом структуры.

    Проверьте объявления.

    идентификатор is not a non-static data member and can't be initialized here

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

    В инициализаторах инициализироваться конструктором могут

    только данные-элементы. Это сообщение означает, что список включает в себя статический элемент или функцию-элемент.

    идентификатор is not a parameter

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

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

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

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

    тип is not a polimorphic class type

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

    (тип не является типом полиморфического класса)

    Dynamic_cast использовалось с указателем на класс, который

    компилировался с запрещенным параметром -RT.

    идентификатор is not a public base class of тип_класса

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

    Правый операнд операции .*, ->* или ::operator не был указателем на элемент класса, который идентичен (или неоднозначен)



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

    имя_файла is not a valid library

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

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

    Данный файл не является библиотечным модулем.

    элемент is not accessible

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

    (элемент недоступен)

    Вы пытаетесь сослаться на элемент класса С++, который имеет

    атрибут доступа private или protected и недоступен из данной

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

    при этом аргументы совпадают с аргументами недоступной функции.

    Перед проверкой доступности всегда выполняется проверка разрешения переопределения. Если проблема именно в этом, то для выбора

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

    типа для одного или более параметров.

    Назад | Содержание | Вперед


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