Я работаю над простым дополнением XLL и пытаюсь получить ввод с помощью обычного двойного * (не FP или OPER), потому что из того, что я понимаю, Excel должен работать с обычным C типы данных. Я не могу заставить его работать после многих изменений, теперь он возвращает значение только в моей последней ячейке. Что я делаю не так? \Excel/C - получить ввод с массивом *
static AddIn xai_array_try(
"?xll_array_try", XLL_DOUBLE XLL_DOUBLE_,
"ARRAY.TRY", "Array",
"STL", "Test Sum Array."
);
double WINAPI xll_array_try(const double *arr) {
#pragma XLLEXPORT
int i;
double sum = 0;
int size = 3;
for (i = 0; i < size; ++i) {
sum += arr[i];
}
return sum;
}
Если бы я получить его как FP или переключ, я мог бы затем передать его в функцию, которая принимает входные данные как массив?
'sizeof (arr)' - размер указателя, например. 4 или 8. – mch
ОК, я меняю его на число, подобное 3, поскольку оно предназначено только для тестирования. теперь я получаю «Доступ к определению нарушения доступа» –
, сколько элементов имеет 'arr'? – mch