Добрый день. Я работаю в Иаре и захотел создать проект, в котом были бы файлы на с и на 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();
}
}