У меня есть простая функция Bar
, которая использует набор значений из набора данных, который передается в виде массива структур данных.Данные могут поступать из двух источников: постоянный инициализированный массив значений по умолчанию или динамически обновляемый кэш.
Вызывающая функция определяет, какие данные используются и должны быть переданы в Bar
.Bar
не нужно редактировать какие-либо данные и фактически никогда не должно делать этого.Как мне объявить параметр данных Bar
, чтобы я мог предоставить данные из любого набора?
union Foo
{
long _long;
int _int;
}
static const Foo DEFAULTS[8] = {1,10,100,1000,10000,100000,1000000,10000000};
static Foo Cache[8] = {0};
void Bar(Foo* dataSet, int len);//example function prototype
Обратите внимание, это C, а не C ++, если это имеет значение;
Редактировать
О, еще одна вещь.Когда я использую прототип примера, я получаю предупреждение о несоответствии квалификатора типа (потому что я передаю непостоянную ссылку на константный массив?).Что я должен изменить для этого?