Я использую 10.5.6 и XCode 3.1.2. Я просто попытался использовать nil
в моем чистом проекте cpp, но он не был определен:
main.cpp:41: error: 'nil' was not declared in this scope
Я предполагаю, что ваш проект каким-то образом включает Какао или другую библиотеку Objective-C. Возможно, ваш код компилируется как Objective-C ++? Он может компилировать любую комбинацию C ++ и Objective-C, так что существующий код C ++ может компилироваться. Это значение по умолчанию для файлов с расширением .mm
.
Вы создали проект XCode для этой библиотеки? Если это так, возможно, он использует префиксный заголовок XCode, который поставляется с шаблоном Framework, который включает в себя Cocoa / Cocoa.h. Проверьте опцию «Заголовок префикса» в проекте и информацию о цели.
Я также просмотрел / usr / include и не нашел ни одного экземпляра #define nil
.
[Редактировать: файл .h
, на который вы ссылались, может #undef nil
, поскольку его также можно использовать из Objective-C ++.]