2

今天我发现这是在一家公司给我的示例文件中:

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他们访问的函数中ab,c作为双数组,所以数组本质上是被重塑的!?

4

1 回答 1

1

不,它不是有效的 C++。

我猜正式参数声明会在 c99 中作为可变参数数组传递,但我不太确定这些参数的实际参数是否会被接受

于 2013-04-11T20:14:55.360 回答