legendmic2   5년 전

입력값을 모두 벡터의 원소로 입력받고, 1~30의 숫자를 모두 벡터에서 검색해본 후

find함수의 결과값이 벡터의 끝값을 가리킨다면 그 숫자가 벡터에 존재하지 않는 것으로 판단하여 unSubmit배열에 저장하는 로직입니다.

find함수는 매개변수로 시작주소, 끝주소, 찾을인자 총 3개를 받는 것으로 알고 있는데

error: no matching function for call to ‘find(std::vector<int>::iterator, std::vector<int>::iterator, int&)’

이렇게 컴파일에러가 뜨는 이유를 모르겠어서 질문드립니다. 봐도 모르겠습니다...ㅠㅠ

끝까지 읽어주셔서 감사합니다!

djm03178   5년 전

std::find는 어디에 있을까요?

https://en.cppreference.com/w/...

legendmic2   5년 전

@djm03178

와..감사합니다ㅠㅠ 비쥬얼에서는 algorithm헤더파일을 포함하지 않아도 컴파일에러가 안나는 이유는

find함수자체가 프로그램 내에 이미 정의되어있기때문인건가요? 

뭔가 코드를 잘못짜서 틀린게 아닌거같은 느낌이 들어서 기분이 이상하네요ㅠㅠ

djm03178   5년 전

라이브러리 구현체에 따라 어떤 헤더 파일이 다른 헤더 파일을 포함하고 있을 수도 있습니다. 예를 들면 vector가 algorithm 헤더를 자체적으로 포함하고 있을 수도 있죠.

legendmic2   5년 전

@djm03178

정말 코딩의 세계는 방대하네요... 새로운 정보가 계속 들어오네요ㅎㅎ


매번 감사합니다!!

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