인프런 커뮤니티 질문&답변
SceneManager.cpp에서 구문오류가 발생했습니다.
해결된 질문
작성
·
239
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