112224   4년 전

bool 배열을 초기화 할때 fill이나 fill_n 으로만 가능하고

memset 으로는 안대는 건가요?? visual에서는 문제없이 작동하던데 그 이유가 뭔지 알 수 있을까요??

고수님들의 도움을 바랍니다 ㅠㅠ

bupjae   4년 전

컴파일 에러를 받았을 경우 "컴파일 에러" 텍스트가 링크가 됩니다. 링크를 누르면 발생한 컴파일 에러를 확인할 수 있습니다.

memset 은 <cstring> 안에 들어있습니다. #include <cstring> 을 추가하면 컴파일 에러가 없어집니다.

djm03178   4년 전

컴파일 에러는 "컴파일 에러"라고 쓰인 곳을 클릭하면 에러 메시지를 볼 수 있습니다.

에러 메시지를 보면 "error: ‘memset’ was not declared in this scope"라고 쓰여 있습니다. 즉, memset을 사용하기 위한 올바른 헤더 파일을 인클루드하지 않았기 때문에 발생한 오류입니다.

https://en.cppreference.com/w/cpp/string/byte/memset 이와 같이 레퍼런스를 찾아 들어가 보면, memset 함수는 cstring 헤더에 있는 것을 볼 수 있습니다. 다른 헤더를 포함했을 때 사용할 수 있다는 것은 보장되지 않습니다.

112224   4년 전

두분 다 친절한 댓글 감사드립니다 ㅠㅠㅠ

컴파일 에러가 너무 오랜만이라서 헤더문제일 줄은 생각도 못해봤네요

좋은 하루 되시길 바랍니다!

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