c++ 代码错误error C2143: 语法错误 : 缺少“)”(在“;”的前面),求解释改正

double DecodeChromosome()
{
int i,j,k,mem;
int shuzu[3][19];
shuzu[19][19]=population[mem].gene[i];
if(mem=0;mem<POPSIZE;mem++)
{

if(i=0,j=0;i<20,j<20;i++,j++)
{

population[mem].gene[i]=(1/2^20)(shuzu[j][0]*2^19+shuzu[j][1]*2^18+shuzu[j][2]*2^17+shuzu[j][3]*2^16+shuzu[j][4]*2^15+shuzu[j][5]*2^14+shuzu[j][6]*2^13
+shuzu[j][7]*2^12+shuzu[j][8]*2^11+shuzu[j][9]*2^10+shuzu[j][10]*2^9+shuzu[j][11]*2^8+shuzu[j][12]*2^7+shuzu[j][13]*2^6+shuzu[j][14]*2^5
+shuzu[j][15]*2^4+shuzu[j][16]*2^3+shuzu[j][17]*2^2+shuzu[j][18]*2^1+shuzu[j][19]*2^0);
}
}
error C2143: 语法错误 : 缺少“)”(在“;”的前面)

if(i=0,j=0;i<20,j<20;i++,j++) 这一行的if改成for追问

error C2064: 项不会计算为接受 1 个参数的函数
这一行的错误 +shuzu[j][15]*2^4+shuzu[j][16]*2^3+shuzu[j][17]*2^2+shuzu[j][18]*2^1+shuzu[j][19]*2^0); 这个怎么回事啊?谢谢

追答

int i,j,k,mem;
int shuzu[3][19];
shuzu[19][19]=population[mem].gene[i];
这些就错了,i,j,mem没有赋值就直接使用了。
int shuzu[3][19];这句定义的3*19,下面一句就用shuzu[19][19]越界啊。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-27
if(i=0,j=0;i<20,j<20;i++,j++)???你确定不是for?追问

error C2064: 项不会计算为接受 1 个参数的函数
这一行的错误 +shuzu[j][15]*2^4+shuzu[j][16]*2^3+shuzu[j][17]*2^2+shuzu[j][18]*2^1+shuzu[j][19]*2^0); 这个怎么回事啊?谢谢