Когда пишешь программу: ошибки неизбежны. Например, после инструкции забыли поставить точку с запятой (;), или в начале Escape последовательности вместо обратного слеша (\) поставили прямой слеш (/). Компилятор вас не поймет и выдаст сообщение об ошибки, мне бы хотелось чтобы вы сразу же нашли общий язык с компилятором. К сожалению, компилятор выдает сообщения на английском языке. Я постараюсь дать перевод наиболее распространенных сообщений.
Сообщение: error C2143: syntax error : missing x before yyy
Перевод: ошибка C2143: синтаксическая ошибка : пропущен x до yyy
Пояснение: нужно посмотреть назад от указанной строчки и найди, где же вы пропустили x. Такая ошибка может возникнуть, если вы забыли поставить закрывающую скобку, или точку с запятой, или кавычку или еще чего-нибудь. Так же может быть, что вы перепутали открывающий символ, например, вместо фигурной скобки { поставили круглую (.
Сообщение: error C2065: xxx : undeclared identifier
Перевод: ошибка C2065: xxx : необъявленный идентификатор
Пояснение: это значит, что компилятор не знает такого слова, скорее всего вы набрали его с ошибкой.
Сообщение: error C2664: xxx : cannot convert parameter n from yyy to zzz
Перевод: ошибка C2664: xxx : не могу преобразовать n-ый параметр из yyy в zzz
Пояснение: скорее всего вы что-то не то написали внутри круглых скобок.
Сообщение: error C2039: xxx : is not a member of yyy
Перевод: ошибка C2039: xxx : не является членом yyy
Пояснение: cкорее всего вы ошиблись в написании xxx.
Чтобы попасть на строчку с ошибкой, нужно нажать клавишу F8.
Помимо таких ляпов, как опечатки забыл поставить точку с запятой, скобку и т.д. существуют ошибки, которые компилятор отловить не может. Такие ошибки называются «логическими». Например, вы захотели посчитать сколько будет 2+2, но перепутали цифры и написали 2+3, в итоге вы получили неверный результат. Компилятор не может знать, что вы хотели посчитать, он посчитает, что вы его попросили посчитать. Современные компиляторы достаточно умны, чтобы отлавливать некоторые логические ошибки. Он их оформляет как предупреждение (warning). Советую обращать внимание на такие предупреждения, я думаю, в 99% такое предупреждение будет ошибкой.
Попробуйте, как-нибудь покорежить текст программы «Hello, world!» и посмотреть, как будет реагировать на такие изменения компилятор.
Комментариев нет:
Отправить комментарий