게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[C++] 반복문내 입력받은 수를 상수로 변환해 배열크기 지정
게시물ID : computer_81429짧은주소 복사하기
작성자 : 카모프
추천 : 0
조회수 : 5587회
댓글수 : 10개
등록시간 : 2013/03/17 00:50:25

몇날몇일을 고민해도 이부분이 해결이 안되어서 여쭙니다.

사용은 VS 6.0버전이고, C++ 헤더파일로 짜고 있습니다.


while문 내에서 입력받은 M값을 이용해 배열의 크기를 지정해 주려고하는데,

 error C2057: expected constant expression이 발생하면서 계속해서 배열의 크기가 잡히지 않는 것 같습니다.


while(1)
{
cout << "제작할 배열의 크기를 결정해 주세요. (3~13의 홀수)\n";
cout << "배열의 크기 => ";
cin >> M;
if(M > 13)
cout << "크기 13 초과 입니다. 다시 입력하여 주십시오.\n";
else if(M < 3)
cout << "크기 3 미만 입니다. 다시 입력하여 주십시오.\n";
else if(M/2 == 0)
cout << "짝수 입니다. 다시 입력하여 주십시오.\n";
else
{
cout << "크기 M의 배열을 제작합니다.\n";
break;
}
}

int arr[M][M]={0}; // 전체 초기화(0으로)

이 코드에서 어떤 부분을 수정해야 배열의 전체 크기를 지정할 수 있는지 해결책을 알려주신다면 감사하겠습니다.
(아무래도 while문을 탈출하면서 M값이 사라지거나, M값이 상수로 처리가 되지 않아서 인것 같은데, 맞는 해석인지 모르겠습니다.)

ps. 아무래도 포인터를 사용해서 강제로 비상수를 상수로 전환한다 던지 하는 테크닉이 필요한 걸까요?
능력자분들의 도움을 구합니다.. 염치 없지만 죄송하게도 부탁드립니다.. (조교님이 답장을 안주시네요..)

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호