c++ 代码错误error C2143: 语法错误 : 缺少“)”(在“;”的前面),求解释改正
doubleDecodeChromosome(){inti,j,k,mem;intshuzu[3][19];shuzu[19][19]=population[mem].g...
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: 语法错误 : 缺少“)”(在“;”的前面) 展开
{
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]越界啊。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询