菜鸟请教C++问题:有关数组的

来源:百度知道 编辑:UC知道 时间:2024/06/25 16:06:21
#include <iostream>
#include <cmath>
using namespace std;
float PS[3];
float pinghua(float FW,int ip,double SP[])
{ PS[3]={1.0,2.0,3.0};
cout<<"PS[2]"<<PS[1]<<endl;
return(FW);}
void main()
{int ip=1;
float FW=12.0,M;
static double yy[]={0.0,1.0};
M=pinghua(FW,ip,yy);
cout<<"PS[2]"<<PS[2]<<endl;}
编译之后出现如下错误:error C2059: syntax error : '{'
error C2143: syntax error : missing ';' before '{'
error C2143: syntax error : missing ';' before '}'
这个程序是我编的程序里截取的有问题的一段,无关的我都山下去了,所以可能不太清楚我为什么还要费劲巴拉的弄个调用之类的。其实我的本意是定义PS是一个全局变量的数组,然后我希望在子程序pinghua里面就可以直接改变全局变量PS的值,

初始化数组必须是在数组定义处进行。
float PS[3]={1.0f, 2.0f, 3.0f};
float pinghua(float FW,int ip,double SP[])
{
cout<<\"PS[2]\"<<PS[1]<<endl;
return(FW);
}
void main()
{
int ip=1;
float FW=12.0,M;
static double yy[]={0.0,1.0};
M=pinghua(FW,ip,yy);
cout<<\"PS[2]\"<<PS[2]<<endl;
}

你的数组是一个全局数组,在你的程序中,我觉得没必要用全局数组.

但既然用了全局数组,又没有初始化全局数组.
所以你在下面这个函数的时候,就要重新定义类型了,让他成为局部变量..

float pinghua(float FW,int ip,double SP[])
{
double PS[3]={1.0,2.0,3.0}; //float类型也可以.

cout<<"PS[2]"<<PS[1]<<endl;

return (FW);
}