문제 문제 상황은 다음과 같다. DirectX12 튜토리얼 관련 코드 작성 후 Visual Studio 2022의 Debug > Graphics > Start Graphics Debugging 디버깅 창에서 프레임 캡처 후 Analysis 했더니 E_NOINTERFACE (0x80004002) 오류 발생 검색해보니 특정 Windows 10 버전 이후로는 PIX라는 앱으로 디버깅을 해야한다고 함 PIX 설치 및 관련 코드 추가 작성 PIX로 해봐도 똑같은 오류 발생 간단히 말하자면 Visual Studio 2022와 PIX로 프레임 캡처 후 분석을 하려 했더니 E_NOINTERFACE (0x80004002) 오류가 발생했다. 해결 Windows 10 설정 > 업데이트 및 보안 > 개발자용에 들어가서 개발자..
문제 해결
문제 lvalue에 사용할 수 있는 참조 연산자 &를 rvalue에 사용하고 있어서 발생한 문제이다. 내 경우엔 DirectX 예제 코드를 vs2022로 컴파일하던 중 C2102 에러가 발생했다. 원인이 되는 코드는 어떤 변수에 구조체를 할당하지 않고, 바로 함수의 매개변수로 그 구조체의 주소를 넘겨주고 있었다. 말로 하니 어려운데 아래 코드와 비슷하다. struct MyStruct { int i; }; MyStruct bar () { MyStruct result = { 5 }; return result; } /* won't compile; 'lvalue required as unary & operand */ void qux () { int *j = &bar().i; } 해결 rvalue에 &연산을 하지..
문제 Windows 10의 Unreal Engine 4.27사용 환경에서 블루프린트 에디터나 다른 에디터에서 드롭다운 메뉴를 클릭해도 금방 닫히거나 깜빡여 껐다 키지 않는 이상 작업을 할 수 없는 문제가 발생했다. 해결 구글에 검색해보니 NVIDIA Game Ready Driver 461.09 이후 버전에서 Multiplane overlay 관련해 문제가 발생하는 것을 알 수 있었다. 아래 링크에 들어가서 레지스트리를 실행해 해당 기능을 끄면 된다. 나는 나중에 버그가 해결되고 이 기능이 다시 필요해질 수 있으니 혹시 몰라서 비활성화, 활성화 레지스트리 둘 다 저장해두었다. https://nvidia.custhelp.com/app/answers/detail/a_id/5157 After updating t..
문제 기존의 Pawn 클래스가 갖고 있던 필드를 리팩토링을 위해 분리하려고 했다. Actor Component를 새롭게 생성해 이에 대한 포인터를 갖는 식으로 변경했다. 그러나 CreateDefaultSubobject(TEXT("컴포넌트이름")); 으로 생성을 해도 안되어 nullptr로 나오거나 UPROPERTY를 VisibleAnywhere로 해도 Blueprint editor에서 details가 보이지 않는 문제가 발생했다. 해결 블루프린트 에디터에서 Reparent Blueprint해서 다른 상위 클래스(ex: APawn)으로 변경한 뒤, 원래 클래스(ex: APawn을 상속받은 원래 나의 클래스 UGoKart)로 바꾼다. 멀티플레이 게임 개발 강의 듣다가 발생한 문제인데, 이렇게 해서 위의 문제..