Неизвестный тип name class

У меня есть следующие заголовочные файлы:

https://gist.github.com/wemakeweb/5501443 и компилятор всегда сообщает "неизвестный тип имя класса". Я включил вперед декларацию, чтобы разорвать круг, в том числе, где я думаю, что я должен. Что я забыл?

редактировать: Я поместил все это в один файл заголовка, и компилятор все еще сообщает " ожидаемый; после верхнего уровня Декларатор"

https://gist.github.com/wemakeweb/5583500

Изменить 2 Теперь я получаю ошибки компоновщика. "Неопределенные символы для архитектуры x86_64"

решено, проблемы были

  1. Круговой В Том Числе
  2. main.c вместо main.cpp
  3. фактический код был в статическом lib, который не был связан должным образом

2 ответов


эта ошибка? error: unknown type name ‘class’

вы, вероятно, компилируете его как C, а не c++.

убедитесь, что в исходном файле есть .cpp extension, и чем любые соответствующие флаги компилятора установлены правильно. (Это помогает, если вы включаете точно сообщение об ошибке и строку цифр. Не пытайтесь перепечатывать, просто вырезать + вставить.)


у вас есть хотя бы одна циклическая зависимость включения между Feld.h и Figur.h. Прямые объявления не имеют никакого эффекта, если вы также включаете заголовки. Просто удалите includes.