2013-01-22 6 views
0

내가 잘못 가고있는 부분을 누군가가 지적하고 싶습니까? 나는 Ternary 연산자를 사용하는 데 많은 경험이 없었지만 코드 길이를 줄이기 때문에 여기에서 사용할 좋은 이유가 있다고 생각한다.삼항 연산자를 사용하여 값을 증가시키는 방법

그러나 위의 오류가 발생합니다. 누구든지 내가 잘못 가고있는 것을 볼 수 있습니까?

Colour.R <= 255 ? Colour.R+=10 : Colour.R+=11; 

컴파일러는 색이 색 벡터를 나타냅니다

 
Only assignment, call, increment, decrement, and new object expressions can be used as a statement 

를 반환합니다.

답변

6

컴파일러가 정확히 무엇이 잘못되었는지 알려주므로 조건문을 단독으로 사용할 수 없습니다. 그것은 단지 표현입니다.

이 경우 다행히도 필요하지 않습니다. 도 명확되는 :

가의 이익이

Colour.R += Colour.R <= 255 ? 10 : 11; 

(나는 당신의 번호가 여기에 잘못된 생각을하지만 다른 문제입니다.)

+0

감사합니다 : 당신은 쓸 수 있습니다. 그것은 의미 있고 더 명확하게 보입니다. 그리고 네, 숫자가 정확하지 않습니다. 그들은 단지 질문의 목적을 위해 금방 타이프되었다. – Chris

관련 문제