116
2016-02-02 11:30:03
1
typedef가 타입을 새로운 이름으로 정의하는거라 다를건 없습니다.
오류를 출력하는 이유는 메모리상 구조는 같지만 일단 형식이 다르니까 경고를 한다.
뭐 이정도로 보시면 될듯합니다
왜 저런 경고를 띄어주냐면... 게임을 만든다 치면
typedef int FLAG_HERO_STATE;
typedef int FLAG_ENEMY_STATE;
FLAG_HERO_STATE heroState;
FLAG_ENEMY_STATE enemyState;
두 변수다 자료형은 int형입니다. 실제 메모리는 int형이 차지하죠
그런데도
heroState = enemyState; 를 하면 둘다 int형이니 값은 복사는 하지만
컴파일러가 자료형이 다른데 뭔가 실수한게 아니냐는 경고를 출력하는거죠