Cod*_*lus 1 c arrays parameters pointers
我收到以下警告:
expected ‘float **’ but argument is of type ‘float (*)[6]’
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
//state and error are output parameters
void func(float* state[6], float* err[6][6]);
int main()
{
float state[6];
float err[6][6];
func(&state, &err);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我希望state和err是ouptut参数,因此state应该是指向数组的指针,而err应该是指向2维数组的指针.
将您的代码更改为:
void func(float state[], float err[][6]);
int main()
{
float state[6];
float err[6][6];
func(state, err);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
要理解为什么,你需要知道这float* err[6][6]是一个6x6浮点指针数组,而不是指向6x6浮点数组的指针.
| 归档时间: |
|
| 查看次数: |
522 次 |
| 最近记录: |