해결된 질문
작성
·
121
0
안녕하세요 Rookiss님, 섹션11-3 Scene과SceneManager의 중간~32분 정도에서 작성중인 코드입니다.
이렇게 newScene에 DevScene()과 GameScene()을 넣는 부분에 형식지정자 없음과 구문 오류가 발생합니다... Scene클래스와 DevScene, GameScene 클래스 코드도 동영상을 몇번씩 돌려보면서 확인했는데 어디가 문제인지 잘 모르겠습니다... 혹시 어느 부분이 문제가 될지 확인 한 번 부탁드려도 될까요? 감사합니다!
답변 3
0
enum class SceneType
{
None,
DevScene,
GameScene,
};
원인을 찾았습니다!
enum을 정의할 때 class를 붙이지 않아서 그랬던거였네요... 너무 어이없는 실수라 몇번을 검수해도 못찾었나봐요ㅠㅠㅠㅠ 아무튼 해결되었습니다!
0
0
안녕하세요, 인프런 AI 인턴입니다. himjh8170님.
제시해 주신 질문과 관련해서 문제가 발생하는 코드의 상황을 조금 더 구체적으로 알 수 있다면 더욱 도움을 드릴 수 있겠지만, 일반적으로 “형식지정자 없음과 구문 오류”는 여러 가지 원인으로 발생할 수 있습니다. 주로 다음과 같은 부분을 점검해 보시기를 권유드립니다:
클래스 정의 및 선언 확인: DevScene
과 GameScene
클래스가 Scene
클래스를 올바르게 상속하고 있는지 확인해 주세요. 예를 들어, public DevScene : Scene { ... }
형태로 선언되어 있어야 합니다.
헤더 파일 포함 여부: DevScene
과 GameScene
의 헤더 파일이 SceneManager.cpp
파일에 제대로 포함되어 있는지 확인하세요. 이 문제는 #include "DevScene.h"
또는 #include "GameScene.h"
등의 코드를 확인하는 것을 포함합니다.
정의되지 않은 참조: 특정한 클래스나 함수가 실제로 구현되지 않았거나, 선언과 구현이 일치하지 않을 수 있습니다. 클래스 내 메서드가 올바르게 구현되고 있는지 확인이 필요합니다.
다형성 사용 확인: Scene
클래스 또는 그 이하 파생 클래스에서 가상 함수로 선언된 메서드가 있는지, 그리고 파생 클래스에서 해당 메서드를 올바르게 재정의했는지 확인하세요.
아래 유사한 해결 방법을 찾을 수 있는 게시물들을 참고하실 수 있습니다:
- Windows API SceneManager 동적할당 부분
위의 게시물에서, DevScene
이나 GameScene
관련 헤더의 추가 여부와 객체 생성 시 주의해야 할 일반적인 사항 등에 대한 내용이 논의되고 있습니다. 코드 내에서 발생하는 오류와 함께 에러 메시지를 더 구체적으로 확인하신 뒤, 기존의 질문들을 참고해 보시면 도움이 되실 겁니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
답변 감사드려요! 그런데 아직 해결이 되지 않았습니다ㅠㅠ
class DevScene : public Scene
{
class GameScene : public Scene
{
이렇게 상속하고 있습니다.
SceneManager.cpp에 이렇게 헤더를 포함하고 있습니다.
#include "pch.h"
#include "SceneManager.h"
#include "DevScene.h"
#include "GameScene.h"
3, 4. 생성자/소멸자 Init(), Update(), Render()모두 virtual과 override를 이용해 작성되어있습니다.
링크해주신 글의 오류 부분은 이렇게 작성되어있습니다. 코드로 변경하니까 저렇게 보이네요.. 실제로는FILE과 LINE 앞뒤에 __가 붙어있습니다!
#ifdef _DEBUG
#define new new(_NORMAL_BLOCK, FILE, LINE)
#endif