Игнорировать ключевые слова C++ в файлах заголовков проекта ANSI-C - IDE Netbeans

Я создал проект C-Application и хочу использовать в своем проекте такие имена, как new или delete, но не могу, так как они являются зарезервированными ключевыми словами в C++. Как я могу указать среде IDE Netbeans игнорировать определенные ключевые слова C++?

РЕДАКТИРОВАТЬ: использование _new или _delete было бы неаккуратным обходным путем, и это не то, что я ищу.

EDIT2: эта проблема возникает только в файлах заголовков *.h. Когда я набираю new или delete внутри *.c, файл не выделяется.


person pgmank    schedule 19.03.2016    source источник


Ответы (3)


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

Просто используйте вместо них New и Delete или mynew и mydelete.

person Steve Barnes    schedule 19.03.2016

Ключевое слово в C++, которое не является ключевым словом в C, может использоваться как идентификатор в C.

В моей IDE VC2008 редактор по-прежнему выделяет его как зарезервированное слово, но это не так.

person Paul Ogilvie    schedule 19.03.2016

Я создал проект C-Application и хочу использовать в своем проекте такие имена, как new или delete, но не могу из-за того, что они являются зарезервированными ключевыми словами в C++. Как я могу указать среде IDE Netbeans игнорировать определенные ключевые слова C++?

Если вы создали проект C, это не проблема. Кажется, у вас есть проект C++. Какое окончание файла вы используете? .c должен работать без проблем - даже окраска синтаксиса не будет выделять новые/удаленные для файлов C.

Просто для тестирования вы можете создать простой проект, используя только main.c и протестировать код, например. int new переменная.

но я не могу из-за того, что они являются зарезервированными ключевыми словами в С++

Можете ли вы дать нам более подробную информацию об этом?

person ollo    schedule 19.03.2016
comment
Смотрите мой EDIT2. Кажется, что это выделение ключевого слова происходит только в *.h файлах. - person pgmank; 21.03.2016
comment
Это связано с тем, что файлы .h используются для C и C++. Хотя существует различие между *исходными файлами C и C++, для заголовков такого нет. Я думаю, что единственный способ обойти это — удалить файловую ассоциацию .h ‹--› C++; но это *действительно не очень хорошее решение. - person ollo; 24.03.2016
comment
Кстати. вы можете проверить сопоставление языка/файла здесь: Tools -> Options -> C/C++ -> Other. К сожалению, изменение стандарта по умолчанию для файлов *.h на C не решает эту проблему. - person ollo; 24.03.2016