[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;
};
Al comparar un valor en una sentencia condicional el operador es "=="
if (dato==0){..}
Saludos!
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