:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 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]로 하셨기 때문에 에러가 납니다. 아마 에러 메세지 종류 보시면 아실 수 있는 부분일겁니다.
11/07/28 12:33
배열관련은 헷갈리네요 갯수..음 위에님이 정답다말해주셨네요
어쨋든 C++도 초기화는 생성자에서 해야합니다. 저건 생성자에서 해주지 않으셨네요~ 생성자는 책에..
11/07/28 12:46
일단 지도를 고정된 상수 값으로 두고 싶으시다면 char a에 const static 한정자를 붙여주시고, 값 대입 부분을 아래와 같이 cpp 파일로 옮겨주시면 됩니다.
const char CDrawMap::a[5][6] = "~~~~~", "~~...", "~@...", "&&&&.", "&&&&&", ;
|