Сам по себе ваш код верен - нет необходимости в протоколе, и компиляция a.cpp
, определенная как sourcecode.cpp.objcpp
, может привести к удушению.
В качестве примечания можно оставитьa.h
определяется как sourcecode.c.h
, даже если он содержит чистый C ++ - это то, как файл, который #includes
или #imports
классифицируется, имеет значение.
Я видел несколько случаев, когда рекурсивная включает /При импорте могут возникать ложные ошибки, подобные этой.
Кроме этого, возможно, проект XCode подвергся фальсификации - вы пробовали создать новый скелетный проект и добавить в него эти файлы?