Изменение формы динамического массива с использованием параметров функции

Сегодня я обнаружил, что это в файле примера, предоставленного мне компанией:

void mySgemm( int m, int n, int k, float alpha, float beta, float a[m][n],   float b[n][k], float c[m][k], int accelerate )

Вызывается с:

a_cpu = malloc(..);
b_cpu = malloc(..);
c_cpu = malloc(..);
mySgemm(m, n, k, a, b, a_cpu, b_cpu, c_cpu, true);

Я не могу скомпилировать свой собственный подобный пример, честно говоря, я никогда даже не видел, чтобы кто-то брал динамический массив и формировал его таковым, используя параметры самой функции.

Это законный звонок?


Что меня поражает, так это то, что в mySgemm функция они получают доступ a,b,c как двойные массивы, так что массив по существу изменяется !?

2

Решение

нет, это не действительно c ++.

я предполагаю, что формальные объявления аргументов будут передаваться в c99 как вариативные массивы, но я не настолько уверен, что фактические аргументы для них будут приняты

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]