2014-10-20 2 views
-2

Я пытался это сделать, но я не могу. Как я могу объявить ряд переменных с юридическими и незаконными именами (например, int double = 0;), чтобы вы могли видеть, как компилятор реагирует.Как объявить переменные с незаконными именами (например, «int double = 0»)?

+3

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

+0

Его язык C++ – Kashif

+0

Просто напишите некоторые переменные в своем компиляторе и посмотрите, что произойдет. Я смущен тем, как вы не можете это сделать? Что вы пробовали? – Grice

ответ

4

Короткий ответ на этот вопрос: НЕ ДЕЛАЙТЕ ЭТО.

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

Если вы хотите использовать double в качестве имени переменной, лучшим способом добиться этого является успешное прошение комитетом C++ о создании следующего стандарта для его разрешения. Тогда у вас будет действующая программа.

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

// invalid_double.c 
int double = 0; 

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

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

+0

Здесь добавлено некоторое разъяснение. – tadman

Смежные вопросы