¿Por qué el primero devuelve una referencia? int x = 1; int y = 2; (x > y ? x : y) = 100; Mientras que el segundo no? int x = 1; long y = 2; (x > y ? x : y) = 100; En realidad, el segundo no compiló en absoluto: "no queda el valor restante de la
¿Por qué el primero devuelve una referencia? int x = 1; int y = 2; (x > y ? x : y) = 100; Mientras que el segundo no? int x = 1; long y = 2; (x > y ? x : y) = 100; En realidad, el segundo no compiló en absoluto: "no queda el valor restante de la
int main () { int a = 5,b = 2; printf("%d",a+++++b); return 0; } Este código da el siguiente error: error: lvalue requerido como operando de incremento Pero si pongo espacios en todas partes a++ +y ++b, entonces funciona bien. int main () { int a = 5,b = 2; printf("%d",a++ + ++b);...
Consideremos el siguiente código: int main() { int i = 2; int b = ++i++; return 3; } Se compila con lo siguiente con un error: <source>: In function 'int main()': <source>:3:16: error: lvalue required as increment operand 3 | int b = ++i++; | ^~ Esto me parece justo. El...
Ejemplo: typedef enum Color { RED, GREEN, BLUE } Color; void func(unsigned int& num) { num++; } int main() { Color clr = RED; func(clr); return 0; } Me sale el siguiente error cuando compilo esto: <source>: In function 'int main()': <source>:16:9: error: cannot bind...