Почему я получаю сообщение об ошибке «error: неизвестное имя типа« virtual »» при попытке скомпилировать этот код?

Код:

struct IRenderingEngine {
    virtual void Initialize(int width, int height) = 0;
    virtual void Render() const = 0;
    virtual void UpdateAnimation(float timeStep) = 0;
    virtual void OnRotate(DeviceOrientation newOrientation) = 0;
    virtual ~IRenderingEngine() {}
};

Изучает opengles из книги по программированию для 3d iphone и использует этот пример кода, но книга предназначена для xcode 3.x

Почему-то я чувствую, что это что-то с Xcode 4 ....

РЕДАКТИРОВАТЬ:

Вот фактическая ошибка:

/ Users / Dan / Documents / opengles / Hello Arrow / Hello Arrow / IRenderingEngine.hpp: 27: 2: ошибка: неизвестное имя типа 'virtual' [1]

И это законно - все, что нужно, чтобы не скомпилировать, абсолютно никаких других файлов. (Да, я попытался скомпилировать буквально с main.m и этот файл hpp)

Он распознает hpp-файл как заголовочный файл cpp, хотя, если я пытаюсь добавить его в скомпилированные файлы, он говорит, что «нет правил для обработки файла» $ (PROJECT_DIR) / Hello Arrow / IRenderingEngine.hpp 'типа sourcecode.cpp .h для архитектуры i386 ", поэтому я действительно понятия не имею, что происходит

Обратите внимание, что я скомпилировал с main.m, что означает, что я скомпилировал другое приложение, основанное на Cocoa / Foundation

Я попытался скомпилировать для приложения C ++, и все работало очень хорошо .... Аналогичным образом, компиляция с тестовым файлом main.mm тоже работала нормально

вот настоящий проект, позвольте мне знать, насколько я сумасшедший

[Удалено, учитывая, что я потерял файл]

Ответы на вопрос(5)

Ваш ответ на вопрос