получается что-то вроде этого
int a[]={1,2,3};
foo(a, sizeof(a)/sizeof(a[0]));
, которое в вашем случае будет
foo(a, sizeof(a)/sizeof(1));
, то есть размер целого числа
foo(a, sizeof(a)/sizeof(int));
вы можетеКроме того, передача перечисления может быть константой в знаменателе. Перечисление может быть примерно таким:
enum dataType {
INT = 2,
fLOAT = 4,
DOUBLE = 8
}type;
Это поможет при развертывании вашего кода в другой среде, например, от DOS до Windows и т. д., но я думаю, что это может быть правдой воригинальный фрагмент также.но подход enum увеличит производительность, я думаю.