Pur*_*mar 4 c++ arrays reference function
功能定义为:
int strip(double *signalstnV){
.
.
return 0;
}
Run Code Online (Sandbox Code Playgroud)
主要功能称为:
main{
.
.
double signalstnV[iteration][2*range+1][3];
.
.
check = strip(signalstnV);
.
}
Run Code Online (Sandbox Code Playgroud)
我想在strip函数中修改后在main中的next函数中使用该数组.但在编译期间,我收到如下错误
sim.C:在函数'int main(int,char**)'中:
sim.C:54:26:错误:无法将参数'1'的'double()[151] [3]'转换为'double '为'int strip(double*)'
check = strip(signalstnV);
我无法理解它.请帮忙.我的主要目标是从strip函数生成数组,并在稍后的代码中将其传递给其他函数.
当我在另一个函数中使用此数组时
threshold(double * signalstnV)
Run Code Online (Sandbox Code Playgroud)
并使用for循环提取一些特定值,它给出错误:
invalid types ‘double[int]’ for array subscript
if (signalstnV[k][j][3] < -0.015){
..}
Run Code Online (Sandbox Code Playgroud)
普通的一维数组衰减到指向其第一个值的指针.多维数组仅在其第一维中衰减,衰减为指向数组的初始第二维的指针.
如果您希望将多维数组"超级衰减"到指向其第一个值的指针,那么只需自己执行:
check = strip(&signalstnV[0][0][0]);
Run Code Online (Sandbox Code Playgroud)