Debug c++

Iniciado por inewcl, 7 Noviembre 2016, 16:38 PM

0 Miembros y 1 Visitante están viendo este tema.

inewcl

[Error] lvalue required as left operand of assignment en el siguiente if:

if(0=(aux%4)) {
cout << " Infracciones detectadas : " << endl;   
analizar1(tiempo);
analizar2(tiempo);
analizar3(tipo);
  }


  int main() {

int ts;
int aux=0;
string codigo;

Marca *x= new Marca(codigo,ts);

vector<int>tiempo;
vector<string>tipo;

cout << " Ingrese datos " << endl;
while(cin >> codigo >> ts){

x->setTipo(codigo);
x->setTs(ts);

tipo.push_back(x->getTipo());
tiempo.push_back(x->getTs());

cout << tipo.at(aux) << " " << tiempo.at(aux) << endl;
aux=aux+1;
 



}

  if(0=(aux%4)) {
cout << " Infracciones detectadas : " << endl;   
analizar1(tiempo);
analizar2(tiempo);
analizar3(tipo);
  }


return 0;
};

kub0x

Al comparar un valor en una sentencia condicional el operador es "=="

if (dato==0){..}

Saludos!
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


engel lex

es como dice kub0x

solo quiero añadir la explicación del error para un futuro caso
lvalue required as left operand of assignment


el error dice
un lvalue es requerido como la parte izquierda del operador de asignación

un lvalue (locator value) es un objeto que tiene una dirección en memoria

el operador de asignación "=" funciona de una manera simple, copia el valor que esté a su derecha (o el valor representado por una variable a su derecha) dentro de la memoria del operando de la izquierda ...

en este caso el operando de la izquierda no es un lvalue, es "0" como "0" no tiene una posición en memoria propiamente dicha, sino es una constante, lanza ese error

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.