첫 번째가 왜 참조를 반환합니까? int x = 1; int y = 2; (x > y ? x : y) = 100; 두 번째는 그렇지 않지만? int x = 1; long y = 2; (x > y ? x : y) = 100; 실제로 두 번째는 전혀 할당되지 않았습니다.
int main () { int a = 5,b = 2; printf("%d",a+++++b); return 0; } 이 코드는 다음 오류를 제공합니다. 오류 : 증가 피연산자로 lvalue 필요 하지만 전반에 걸쳐 공간을 세우면 a++ +하고 ++b다음 잘 작동합니다. int main () { int a = 5,b = 2; printf("%d",a++ + ++b); return 0; …
다음 코드를 고려해 봅시다. int main() { int i = 2; int b = ++i++; return 3; } 오류와 함께 다음과 같이 컴파일됩니다. <source>: In function 'int main()': <source>:3:16: error: lvalue required as increment operand 3 | int b = ++i++; | ^~ 이것은 나에게 공평하게 들린다. 후위 증분 코드로서 …
예: typedef enum Color { RED, GREEN, BLUE } Color; void func(unsigned int& num) { num++; } int main() { Color clr = RED; func(clr); return 0; } 이것을 컴파일 할 때 다음과 같은 오류가 발생합니다. <source>: In function 'int main()': <source>:16:9: error: cannot bind non-const lvalue reference of type …