문제 문제 상황은 다음과 같다. 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 설정 > 업데이트 및 보안 > 개발자용에 들어가서 개발자..
프로그래밍
문제 https://www.acmicpc.net/problem/17081 17081번: RPG Extreme 요즘 택희는 RPG 게임을 하고 있다. 던전을 헤쳐나가며 몬스터를 물리치고, 아이템을 모으고, 레벨 업을 하여 보스 몬스터를 물리치는 전형적인 RPG 게임이다. 이 게임은 N×M 2차원 그리드 위에서 www.acmicpc.net 풀이 방법 문제의 설명이 길지만 설명 그대로 구현하고 시뮬레이션 돌리면 되는 문제다. 옛날 로그 게임 마냥 진행되는데 처리 해줘야 하는 케이스가 많아서 일일이 다 따져보고 구현하고 오류가 날 경우 테스트해봐야 한다. 내 경우 어려웠던 케이스는 다음과 같다. 그리드 출력 시 승리 또는 패배 여부에 따른 플레이어의 출력 및 위치 이동 명령 문자열 S가 끝났을 때, 진행된 턴 ..
문제 https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 풀이 방법 그래프 탐색을 활용한 구현 문제다. 주의해야 할 것은 시작부터 덩어리가 이미 분리되어 있는 케이스가 있기 때문에 녹이기 전에 먼저 덩어리 개수를 확인해줘야 한다. 따라서 현재 빙산의 높이 정보를 토대로 빙산의 덩어리가 두 덩어리 이상이면 현재 시간을 출력하고, 그렇지 않다면 문제의 설명대로 빙산을 녹이고 시간을 증가시키면 된다. 빙산의 덩어리 개수를 세는 알고리즘은 BFS나 ..
문제 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에 &연산을 하지..