Записки программиста Программирование и не только

21Янв/130

Вынести определение массива структур в другой файл

В продолжении к красоте

Объявляем (declaration)

//st.h
enum {
    /* I/O ERRORS */
    ERR_INVALID_STATUS = 0x01,
    ERR_INVALID_FUNCTION = 0x02
};

struct fr_errs_struct
{
	int err;
	const char * const msg;
};

extern struct fr_errs_struct fr_errs [];

Определяем (definition)

//st.cpp
#include <st.h>

struct fr_errs_struct fr_errs [] = {
    {ERR_INVALID_STATUS,        "Функция невыполнима при данном статусе"},
    {ERR_INVALID_FUNCTION,      "В команде указан неверный номер функции"},
    {0,     ""}
};

Ну и функция для использования всего этого

const char* getText(int aErr)
{
    int i = 0;
    while(fr_errs[i].err && fr_errs[i].err != aErr)
    {
        i++;
    }
    return fr_errs[i].msg;
}
Комментарии (0) Пинги (0)

Пока нет комментариев.


Leave a comment

Нет обратных ссылок на эту запись.