У меня есть несколько классов, которые я написал, чтобы иметь дело с числами, имеющими единицы прозрачно, как если бы они были просто целыми числами или числами с плавающей точкой. В двух словах:
SI_Term speed(4, "mph");
SI_Term distance(10000, "feet");
SI_Term time = distance / speed;
std::cout<<time.string();
и все основные операторы перегружены для работы таким образом. Потребовалось немало работы, поэтому я хотел бы использовать классы C ++ в своем приложении ObjC для iPhone. Я попытался добавить их с расширениями .h и .mm в свой проект xcode, но, похоже, они не рассматриваются как файлы C ++. (Я не найду ни одного из заголовков STL, синтаксических ошибок, где бы я ни объявил класс или что-нибудь).
Новая информация:
Пробовал .mm и .h расширения, ошибки:
в .h файле:
namespace DA
и почти все, что связано с кодом C ++ (около 40 ошибок всего этого сообщения), дает мне expected '=', ',', ';', 'asm' or '__attribute__' before ':' token
Я также получаю *: No such file or directory
для всех экземпляров #include <*>
в файлах c ++.
Я уверен, что это какое-то простое исправление, но .mm и .h было недостаточно.
Обновление:
Обнаружил, что копирование и вставка исходного кода в новые файлы, кажется, работает. Файл mm (или файл cpp) компилируется. Однако файл h не работает, он выдает вышеупомянутую ошибку при любом появлении кода, специфичного для c ++.
Спасибо!