46019 (665326), страница 43

Файл №665326 46019 (Turbo C++ Programer`s guide) 43 страница46019 (665326) страница 432016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 43)

Неожиданное появление ) - проверьте наличие открывающей скобки

Лишняя круглая правая скобка встречена там, где она не ожидалась. Проверьте отсутствие (.

Unexpected : found

Неожиданное появление :

Лишнее двоеточие встречено там, где оно не ожидалось. Проверьте отсутствующий или неверно набитый знак ?.

Unexpected end of file in comment started on номер строки

Неожиданно встречен конец файла в комментарииномер строки

Исходный файл кончился в середине комментария. Это обычно происходит при отсутствии признака конца комментария (*/).

Unexpected end of file in conditional started on номер строки

Неожиданно встречен конец файла в условной директиве номер строки

Исходный файл кончился раньше, чем компилятор встретил #endif. Либо это отсутствие, либо опечатка в #endif.

Union cannot have a base type

Объединение не может иметь базовый тип

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

Union members cannot require initialization

Компоненты объединения не могут требовать инициализации

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

Unknown language, must be C or C++

Неизвестный язык, здесь должен быть С или С++

В конструкции С++

extern имя тип func( /*...*/);

имя в кавычках должно быть С или С++; другие имена не распознаются. Вы можете объявить внешнюю функцию с типом Pascal без переименования компилятором:

extern "C" int pascal func( /*...*/ );

Функция С++ (возможно, перегруженная) может быть объявлена с типом Pascal и позволять обычные переименования компилятором (чтобы была возможной перегрузка) следующим образом:

extern int pascal func( /*...*/ );

Unknown preprocessor directive: идентификатор

Неизвестная директива препроцессора: идентификатор

Компилятор встретил в начале строки символ #, а следующее за ним имя директивы не являлось допустимым именем директивы: define, undef, line, if, ifdef, ifndef, include, else или endif.

Unterminated string or character constant

Незавершенная строка или символьная константа

Компилятор не нашел завершающей кавычки в конце строки или символьной константы.

Use . or -> to call функция

Используйте для вызова функции . или ->

Попытка вызвать функцию-компонент, не задав объект.

Use :: to take the address of a member function

Используйте :: для обращения к адресу функции-компонента

Если f есть функция-компонент класса c, вы можете обратиться к ееадресупри помощи &c::f. Отметим использование имени типа класса вместо имени объекта и то, чтоимя класса отделяется от именифункции при помощи ::. (Указатели функций -компонентов не являются истинными указателями типа и не относятся кконкретному вхождению данного класса).

Use ; to terminate declarations

В конце объявлений должна находиться ;

Данное объявление не заканчивается запятой или точкой с запятой.

User break

Прерывание пользователя

Вы ввели во время компиляции или компоновки в интегрированной среде Ctrl-Break. (Это не ошибка, а просто подтверждение приема вашей команды прерывания выполнения).

Value of type void is not allowed

Значение типа void не разрешено

Значение типа void практически не является значением вообще и не может появляться в контексте, требующем фактически существующего значения. Таким контекстом может являться правая часть операции присвоения, аргумент функции или управляющее выражение условных операторов if, for или while.

Variable идентификатор is initialized twice

Переменная идентификатор инициализирована дважды

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

Variable name expected

Ожидается имя переменной

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

Vectors of classes must use the default constructor

Векторы классов должны использовать конструктор по умолчанию

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

Virtual function функция1 conflicts with функция2 Виртуальная функция1противоречит функции2

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

virtual specified more than once

virtual задано более одного раза

Резервированное слово С++ virtual может появиться в определении функции-компонента только один раз.

void & is not a valid type

void & не является допустимым типом

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

While statement missing (

В операторе while отсутствует (

В операторе while компилятор не обнаружил левой круглой скобки после ключевого слова while.

While statement missing )

В операторе while отсутствует )

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

Wrong number of arguments in call of макрос

Неверное число параметров при вызове макроса

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

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

функция1 hides virtual function функция2

функция1 скрывает виртуальную функцию2

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

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

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

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

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

идентификатор объявлен, но нигде не использован

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

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

идентификатору присвоено значение, нигде не используемое

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

идентификатор is both a structure tag and a name, now obsolete

идентификатор одновременно является тегом структуры и имя,

устаревшая возможность

В С допустимо использовать идентификатор сразу как тег структуры и имя переменной или typedef, как в следующем примере:

struct s (* int i, j; *) s;

или

typedef struct s (* int i, j; *) s;

В С++ это недопустимо.

Ambiguous operators need parentheses

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

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

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

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

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

Assignment to this is obsolete, use X::operator new instead Такое присвоение устарело, используйте вместо него

X::operator new

В старых версиях С++ единственный способ управления распределением класса объектов заключался в присвоении параметру this внутри конструктора. Теперь это отменено, поскольку существует более эффективный, безопасный и более общий способ, состоящий в определении функции-компонента operator new.

Base initialization without a class name is now obsolete

Инициализация базового класса без имени устарела

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

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

Старый способ:

derived::derived(int i) : (i, 10) (* ... *)

Новый способ:

derived::derived(int i) : base(i, 10) (* ... *)

Bit fields must be signed or unsigned int

Битовые поля должны иметь тип signed или unsigned int

Битовое поле должно быть объявлено имеющее интегральный тип со знаком или без. В ANSI C битовое поле может быть только signed или unsigned int (а не char или long, например).

Both return and return with a value

Одновременно присутствуют операторы return и return с заданным значением

Текущая функция имеет операторы return с заданным значением возврата и без значения возврата одновременно. В С это допустимо, но практически всегда является ошибкой. Вероятно, оператор return просто был опущен в конце функции.

Call to function with no prototype

Вызов функции без прототипа

Это сообщение выдается в тех случаях, когда разрешено сообщение "Prototype required" и вы вызываете функцию без первоначального задания прототипа этой функции.

Call to function функция with no prototype

Вызов функциифункция без прототипа

Это сообщение выдается в тех случаях, когда разрешено сообщение "Prototype required" и вы вызываете функцию "функция" без первоначального задания прототипа этой функции.

Code has no effect

Код не вызывает никаких действий

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

a + b;

не оказывает воздействия ни на какую переменную. Операция не нужна и наверняка записана по ошибке.

Constant is long

Длинная константа

Компилятор встретил либо десятичную константу, превышающую значение 32767, либо восьмеричную (или шестнадцатиричную) константу, превышающую значение 65535 без следующей за ней буквы l или L. Такая константа будет рассматриваться как имеющая тип long.

Constant member компонент is not initialized

Константа-компонент не инициализирована

Класс С++ имеет константу-компонент, которая не была инициализирована. Отметим, что допустимым является инициализировать константу-компонент, а не присваивать ей значение.

Constant out of range in comparison

Участвующая в сравнении константа вне допустимого диапазона

В исходном файле имеется сравнение, в котором участвует под-выражение, лежащее вне диапазона, допустимого для прочих типов под-выражений. Например, сравнение числа unsigned с -1 не имеет смысла. Для того, чтобы получить константу unsigned больше 32767 (десятичное), требуется либо явно задать приведение типа к unsigned [например, (unsigned)65535], либо добавить к константе буквы u или U (например, 65535u).

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

Conversion may lose significant bits

При преобразовании могут быть потеряны значащие биты

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

Declaration does not specify a tag or an identifier

Объявление не задает тег или идентификатор

Данное объявление ничего не объявляет. Обычно это структура или объединение без тега или переменная в объявлении.

Некоторые ранние компиляторы С позволяли объявления вида

struct (* int a; int b; *);

с последующим использованием a и b в качестве родовых полей для любой переменной. выражение типа x.b разрешалось даже x не имел тип структуры. Теперь это не практикуется, и данное сообщение поможет вам выявить все такие места в программе.

Declare функция prior to use in prototype

Функция должна быть объявлена до использования в прототипе

Когда прототип функции ссылается к типу структуры, который не был ранее объявлен, объявление внутри прототипа - это не то же самое, что объявление вне прототипа. Например,

Характеристики

Тип файла
Документ
Размер
2,71 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6516
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее