2016-10-07 2 views

답변

5

코드가 완벽하게 유효합니다.

*colorPtr = BLUE; 

은 가리키는 대상에 BLUE의 값을 복사합니다. 이 경우 Button의 구성원이고 따라서 Button 개체가 파괴 될 때까지 존재한다는 것을 보장하는 color입니다.

void setToBlue() { 
     color = BLUE; 
    } 

정확히이 경우 동일한 지

참고.

왜 아웃이 유효하지 않은 명령을 주석 :

은 편집에 대답하려면?

-> 연산자는 (*colorPtr).과 동일합니다. . 연산자는 구성원 액세스 연산자이며 열거 형에는 액세스 할 구성원이 없으므로 의미가 없습니다.

1

여기에는 열거 형에 대한 근본적인 혼란이 있다고 생각합니다. 아마도이 샘플을보기위한 가장 좋은 방법은 #define입니다.

대신 당신이

#define BLUE 2 

있었다 다음 색상 = BLUE했다 상상해; 이것은 color = 2로 분해 될 것입니다.

'2'는 이제 바이너리의 메모리에 하드 코딩되어 있기 때문에 범위가 전역입니다.

관련 문제