PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2011/07/28 12:11:27
Name 배려
Subject 간단한 C++질문입니다.
혼자서 공부를 하다보니 어이없는 질문이래도 이해해주시길 바라며 질문 납깁니다.
지금 하려는 건 클래스를 만들고 그 클래스 내에서 배열을 만들고
showMap()함수를 이용해서 그냥 출력해주는 간단한 건데 배열 선언에서 구문오류가 뜨네요;;



CDrawMap.h파일

#pragma once
#include <iostream>
using namespace std;
class CDrawMap
{
        char a[5][6] = { "~~~~~", "~~...", "~@...", "&&&&.", "&&&&&",        };  //<<<이 부분에서 구문에러가뜹니다.

public:
        CDrawMap(void);
        ~CDrawMap(void);

        void showMap();

};




CDrawMap.cpp 파일

#include "DrawMap.h"


CDrawMap::CDrawMap(void)
{
}


CDrawMap::~CDrawMap(void)
{
}

void CDrawMap::showMap()
{
        int i, j;

        for(i=0;i<5;i++)
        {
                for(j=0;j<5;j++)
                {
                                cout<<a[i][j];
                }


        }
}


통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
11/07/28 12:16
수정 아이콘
C++ 안다뤄본지 꽤 되서 조금 헷갈리는데 Private 멤버인 배열을 초기화 하는 것은 생성자 부분에 두셔야 할 겁니다.

Private 멤버 조작은 Public method에서만 가능하고 그렇기 때문에 초기화 역시 Public method 내에서 하셔야 합니다.

초기화 하는 부분이니 들어가기 가장 적합한 부분은 생성자 부분이 될 것 같습니다.
11/07/28 12:27
수정 아이콘
그리고 또 하나 char a[5][6]라는 것은 5개의 char를 저장할 수 있는 배열 6개입니다.

즉 " "안의 문자열에는 널 문자가 포함되는데 그걸 포함해서 5개의 문자가 들어갈 수 있지만 지금 보시면 문자열마다 문자가 5개씩 있습니다

그렇기 때문에 널 문자 포함하면 길이가 6이 되는데 a[5]로 하셨기 때문에 에러가 납니다. 아마 에러 메세지 종류 보시면 아실 수 있는 부분일겁니다.
RealWorlD
11/07/28 12:33
수정 아이콘
배열관련은 헷갈리네요 갯수..음 위에님이 정답다말해주셨네요
어쨋든 C++도 초기화는 생성자에서 해야합니다. 저건 생성자에서 해주지 않으셨네요~ 생성자는 책에..
Summerlight
11/07/28 12:46
수정 아이콘
일단 지도를 고정된 상수 값으로 두고 싶으시다면 char a에 const static 한정자를 붙여주시고, 값 대입 부분을 아래와 같이 cpp 파일로 옮겨주시면 됩니다.

const char CDrawMap::a[5][6] =
"~~~~~", "~~...", "~@...", "&&&&.", "&&&&&",
;
11/07/28 15:52
수정 아이콘
문제가 해결이 된 건 아니지만 도움이 되었습니다. 답변 감사합니다.
김석동
11/07/28 19:37
수정 아이콘
밑에 for-loop에도 <5, <5 되어 있는거 하나는 4가 돼야 하는 거 같습니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
110591 안양에서 매봉역 버스타고 갈 예정인데 도로 괜찮을까요? resgestae1709 11/07/28 1709
110590 간단한 C++질문입니다. [6] 배려1273 11/07/28 1273
110589 스타1 이대로 괜찮은지 질문입니다 [90] RealWorlD2686 11/07/28 2686
110588 HTC a/s 질문이요 [1] wOWPlayerS1657 11/07/28 1657
110587 역대 각 종족전 최고 포스를 보인 선수들은 누구이며 언제일까요? [19] possible2739 11/07/28 2739
110586 글을 삭제 당했습니다. [64] fender15082 11/07/28 15082
110585 ATM 에서 이체 할때 수수료 관련 질문이에요 [1] joynshine2054 11/07/28 2054
110583 이걸..어떤 오류라고 봐야할지;; 게임 런처 관련 오류 문의드립니다 쉬군1655 11/07/28 1655
110582 10대들도 스타 많이 하나요? [15] 씨야12189 11/07/28 2189
110580 DELL 모니터 좋은가요? [4] 말룡2234 11/07/28 2234
110579 장마의 정의에 대해 [6] MoreThanAir1543 11/07/28 1543
110577 삼성 일반 똑딱이 (15만원 이하) 추천 부탁 드립니다. 제품 목록 첨부 하였습니다. [6] Red Key1654 11/07/28 1654
110576 적정 출근시간을 어찌생각하시나요? [10] 올빼미2264 11/07/28 2264
110575 저그 vs 프로토스 할때 전략 도움이 필요합니다. [19] Dis1667 11/07/28 1667
110573 보드게임 클루(2009년형), 뱅 질문. [3] 계란말이2209 11/07/28 2209
110572 ppt에 그림삽입시 질문이 있습니다. [2] 윤하1830 11/07/28 1830
110570 컴퓨터가 갑자기 멈추고 재붓되네요 [7] Vulture2170 11/07/28 2170
110569 [연애상담] 다들 여친님께 백일 선물 뭐하셨나요~! [40] 두유매니아50756 11/07/28 50756
110568 엠비씨게임 질문입니다. [5] RealWorlD1749 11/07/28 1749
110567 초등학생 수학문제집 질문입니다. [2] abrasax_:JW1807 11/07/28 1807
110566 멍키 스패너가 고장났습니다. [2] 바카닉테란2584 11/07/28 2584
110565 [고전]문명3 초보 질문입니다~ [3] 천둥2202 11/07/28 2202
110564 eju시험 질문 lookatme1484 11/07/28 1484
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로