template<typename T, size_t n>
size_t array_size(const T (&)[n])
{
return n;
}
Run Code Online (Sandbox Code Playgroud)
我没有得到的部分是这个模板函数的参数.当我通过数组时,数组会发生什么,它给出n了数组中元素的数量?
以下代码在做什么?
int g[] = {9,8};
int (*j) = g;
Run Code Online (Sandbox Code Playgroud)
从我的理解,它创建一个指向2个int数组的指针.但是为什么这会起作用:
int x = j[0];
Run Code Online (Sandbox Code Playgroud)
这不起作用:
int x = (*j)[0];
Run Code Online (Sandbox Code Playgroud) 我该如何从函数返回一个数组?我的代码是
float ClassArray::arr_sub(float a[100][100], float b[100][100]) {
int i,j;
for(i = 1; i < 10; i++) {
for(j = 1; j < 10; j++){
f[i][j]=b[i][j]-a[i][j];
}
}
return f;
}
Run Code Online (Sandbox Code Playgroud)
并且应该将从此函数返回的f分配给在其他类中声明的另一个数组g.
float g[100][100];
g= cm.arr_sub(T,W);
Run Code Online (Sandbox Code Playgroud)
但是在建造课程时,它说incompatible type assignment of float to float[100][100].