Добрый день. Я работаю в Иаре и захотел создать проект, в котом были бы файлы на с и на cpp...но я столкнулся с проблемой... У файле cpp объявляю сам класс и также функцию, работы с ней, у .h файле объявляю функцию работы с классом для доступа к ней от других фалов. Когда у файле main.c не делаю вызова функции ReadSalary(); тогда все работает, как только вызываю , пишет Error Li005 no definition for "long ReadSalary(void) ".
Сам код смысла не имеет, приведен для примера.
Пример, файл .cpp:
class employee { public: float change_salary(float) { return salary; }; long get_id(void) { return employee_id; }; private: char name [64] ; long employee_id; float salary; };
employee worker;
long ReadSalary(void) { return worker.employee_id(); }
Файл .h long ReadSalary(void) { return worker.employee_id(); }
Теперь файл main.c main { long id; id = ReadSalary(); }
Когда у настройках файла .cpp ставлю компилить С++, а файл main, компилить C, то вылазит ошибка ...
Хотел у файле .h записать , но вылезла ошибка типа не понимает синтаксиса extern "C" , может что-то нужно подключить ?
extern "C" { long ReadSalary(void) { return worker.employee_id(); } }
|