gpt4 book ai didi

c - 需要左值作为赋值的左操作数

转载 作者:行者123 更新时间:2023-11-30 16:59:32 24 4
gpt4 key购买 nike

我收到以下错误:需要左值作为赋值的左操作数对于此功能代码:

typedef struct {
int nbIndividus;
int nbVariables;
distance_t *distancesReference;
double **target;
double *E;
double *lag;
} functionData_t;

double myfunc (unsigned n,const double *x, double *grad, void *my_func_data)
{
int i,j,k,t,ind1,ind2,a,test_nb;
double temp,sigma,eta,distanceCarre,sommeObj,distance,compteurDistance,somme,objectifFunction,Somme,*Array_val_E;
int nbIndividus,nbVariables,NbDisplacement,nb_val_E;
double **target;
double *E;
double *lag ;

distance_t *distancesReference;
functionData_t *functionData=(functionData_t *)my_func_data;


nbIndividus=functionData->nbIndividus;
nbVariables=functionData->nbVariables;
target= functionData->target;
E= functionData->E;
lag=functionData->lag;
distancesReference=functionData->distancesReference;
sommeObj=0;
somme=0;
sigma=0.13;
eta=0.5;
nb_val_E=114814;
compteurDistance=0;
NbDisplacement=0;
for(k=1;k<nbIndividus;k++){
compteurDistance=compteurDistance+(nbIndividus-k);
}


for(i=0;i<compteurDistance;i++){
ind1=distancesReference[i].i;
ind2=distancesReference[i].j;
distance=distancesReference[i].distance;
Somme=0;
for(k=0;k<nbVariables;k++) {
temp=target[ind1][k]-target[ind2][k]+x[ind1*nbVariables+k]-x[ind2*nbVariables+k];
Somme+=temp*temp;
}
distanceCarre=Somme;
for(t=0;t<=nb_val_E;t++){
Array_val_E[t]=fabs(E[t]-(distanceCarre/(4*sigma*sigma)));
}
index=min_array(Array_val_E,nb_val_E);
sommeObj+=(distancesReference[i].distance)*(distancesReference[i].distance)+distanceCarre+2*sigma*sigma*nbVariables-2*sqrt(3.14)*(distancesReference[i].distance)*sigma*val_lag(index);
}

objectifFunction=sommeObj;

return objectifFunction;

}

我认为问题出在 vector E 中,但我找不到这个错误的根源。有人可以帮我解决这个问题吗?

谢谢。

最佳答案

您忘记声明索引

出现明显奇怪的错误消息的原因 - “需要左值...”而不是“'index'未声明...” - 是因为有一个名为“index”的库函数,你已经发生了包括声明(最有可能 this one )。

当您没有使用变量声明隐藏该函数时,您正在尝试分配给一个函数(由于显而易见的原因,您不能这样做)。

关于c - 需要左值作为赋值的左操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38078361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com