C++ enum 값은 32비트 정수인가?

앞서 언급한 이상한 정수 캐스팅 상황과 관련이 있는 일이다. C#과 C++ 둘다 쓰는 32비트 정수값이 있다. 간단히 설명하자면 Enum을 쓸 자리에 어떤 사연이 있어서 C#쪽에선 int를 나열하고 C++에선 enum을 이용했다.…

0 Comments

C#의 이상한 정수 캐스팅

간단한 정수 캐스팅 하나! long longValue = 1; int intValue = longValue; 이 코드는 컴파일러 오류를 발생시킨다. 오류 CS0266: 암시적으로 'long' 형식을 'int' 형식으로 변환할 수 없습니다. 명시적 변환이 있습니다.…

5 Comments

C++/CLI 컴파일러의 == 연산자 버그?

property CInventoryBagManaged^ BagInventory { CInventoryBagManaged^ get() { if(m_BagInventory == nullptr) { CInventoryBag* inventory = m_NativeObject->GetBagInventory(); if(inventory == NULL) return nullptr; m_BagInventory = gcnew CInventoryBagManaged(inventory); } return m_BagInventory; } } 해당…

0 Comments