vansoft   2년 전

8번째줄처럼 char sign[20]; 형태로 써주면 올바르게 작동하는데, 9번째줄처럼 vector <char> sign(k); 형태로 써주면 out of bound 오류가 발생하네요. 이유를 알려주세요 ㅠ

bupjae   2년 전

9번째 줄이 실행될 때에는 k = 0 이므로 sign 의 길이는 0입니다.

vansoft   2년 전

컴파일할 때 main함수부터 시작하고, k값을 가장 먼저 입력하니까 sign의 길이 또한 k로 되는 것 아닌가요..?

lcr7324   2년 전

아니오, 컴파일 시점에 이미 k가 전역변수라서 0으로 초기화되고 이에 따라 sign의 길이도 0이 됩니다.

bupjae   2년 전

9번째 줄과 같은 전역변수 초기화는 main 함수가 실행되기 *전에* 실행됩니다. 

댓글을 작성하려면 로그인해야 합니다.