수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

[질문]헤더인클루드문제점...

지음

2023.04.01

#pragma once

int g_Score;
int g_Speed;
int g_Level;
int g_Screenx,g_Screeny;
int g_Rigth,g_Width;

int g_Bpat[7][8]={ //블록모양저장
{1,1,1,1,0,0,0,0}, //0
{0,1,1,0,0,1,1,0}, //1
{1,1,0,0,0,0,1,1}, //2
{0,0,1,1,1,1,0,0}, //3
{0,1,1,1,0,0,1,0}, //4
{0,1,0,0,0,1,1,1}, //5
{0,0,0,1,0,1,1,1},
};
void drawscreen();
void blockleft();
void blockrigth();
void blockdown();
void blockrotate();
void blockdel();

위소스를 만들어서 헤더에 저장햇습니다. 그리고 main에 인클루드했죠..

그리고 함수들의 정의 파일을 만들어서 위해더를 인클루스시켰습니다.
#include windows.h
#include Resource.h
#include Tetris.h

메인부분에 이렇게 인클루드하엿는데 문제가 발생하더군요..ㅡㅡ;
첨부된 소스를 확인해보시면 분명 중복컴파일 된다고 하는듯 보여지더군요

#pragma once 를 사용해서 중복컴파일되는 헤더에 넣어줫는데요..ㅡㅡ;

그래도 자꾸 에러가발생합니다.ㅡㅡ; 콘솔환경에서도 분할파일을 만들어서 제작을 햇엇는데 API에서는 자꾸에러를 발생하네요

소스수정해보니깐 헤더파일에 변수들을 제거한후에 컴파일하니깐 잘되더군요 헤더파일에 변수선언은 할수없엇나요?
문제점이 뭔지를 감이안잡혀서 이렇게 질문드립니다.

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 애기

    답변해주셔서 감사합니다. extern키워드 쓰니깐 해결은 되는군요...^^

  • 초코맛캔디

    변수 정의를 tetris.cpp 에서 해주시고 tetris.h 에 extern으로 선언하세요!

  • 구슬

    소스는 안봤습니다. (코드보기 지겨워서.. ^^;)
    일반적으로, 헤더파일에 #pragma once을 사용하거나 또는 #ifdef 매크로를 사용하여 중복참조가 되지 않도록 합니다만. 서로 참조(incule)을 하는 경우나 참조가 서로 엉키는 경우는 제대로 되지 않습니다. 특히, 변수같은 경우는 서로 헤더파일끼리 참조되는 경우, extern을 사용해야 합니다.
    해결책은 헤더파일들이 서로 #include로 참조되지 않도록 해보세요. 가령, A.h, B.h

번호 제 목 글쓴이 날짜
2694724 코딩시 폰트 문제; ㅠ 후력 2025-05-13
2694696 텍스트박스 입력에 관한 문제입니다. 딥공감 2025-05-13
2694668 [질문] 페이퍼비전 PointLight 관련 질문 드려요.. 두바다찬솔 2025-05-13
2694611 Flash Lite 2.1에서 BitmapData와 Matrix 지원안하나요? (3) 이플 2025-05-12
2694582 IE & 파이어폭스 (2) 흙이랑 2025-05-12
2694553 무비클립안의 duplicate 발동이 안돼네요; 딥보라 2025-05-12
2694523 자바 애플릿 질문좀 ^^ (6) 동이 2025-05-12
2694494 [질문] JAVA 또는 C++ 로 프로그램 개발시.. 레지스터리 등록 관련 의문점? (3) 우람늘 2025-05-11
2694469 익스6에서 css버그 나오는것 해결방법좀요 !!!! (6) 원술 2025-05-11
2694442 로컬에선 잘 나오는데 운영에 반영하면 이상하게 나와요. (8) 목화 2025-05-11
2694412 [질문] 이미지 로딩후 사이즈 조절할때 (1) 아담 2025-05-11
2694391 설치형 블로그 쓰시는 분들 어떤거 쓰세요?? (7) AngelsTears 2025-05-10
2694362 Microsoft SQL Server에서 서버만드는법 어둠 2025-05-10
2694333 for문으로 돌린 이름의 제어 (4) 레이 2025-05-10
2694308 이미지 css 도와주세요 ㅠㅠ (2) 애기 2025-05-10
2694223 [급질문]스크롤스파이의 offset값 진나 2025-05-09
2694195 li에 이미지 넣고 세로로 메뉴 구성하는 경우 (1) 예님 2025-05-09
2694167 canvas 질문요. (4) 찬늘봄 2025-05-08
2694136 왜 이렇게 나오는지 이해가 잘 가지 않네요. 부탁드리겠습니다... (2) 세련 2025-05-08
2694111 div , css 공부하고있는데요 잘모르겠어요.. 도와주세요 ㅠ_ㅠ (10) 모람 2025-05-08
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com