작성
·
306
0
이전 강의에서 나온 부분이긴한데 상관없을것 같아서 질문합니다.
강의 시작부분에서 코드를 보면 랜덤함수의 시드값을 초기화하는 과정에서 time 함수를 사용하는데, 제가 직접 코딩할때는 time함수가 내장되어있지 않아서 time_t( ) 함수만 비슷하게 존재하더라구요.
혹시 그 이유를 알 수 있을까요?
참고로 chrono 라이브러리를 헤더파일에 추가하면 time함수를 사용할 수 있다는건 알고 있습니다. 강의에서는 왜 되고, 제 비주얼스튜디오에서는 사용할 수 없는지 궁금합니다.
(버전은 VS 2019입니다)
답변 4
1
현재 사용하는 라이브러리 버전마다 차이가 있을 수 있습니다.
iostream.h 내부에서 time.h를 include한다면
별도로 time.h include가 필요 없겠지만,
그게 아니라면 직접 해주시면 됩니다.
0
0
0
time 함수를 마우스 더블클릭해서 선택하고 f12를 누르면
실제 어디에 정의되어 있는지 확인할 수 있습니다.
time 함수는 time.h에 정의되어 있지만,
헤더들이 서로 이리 저리 물려 있기 때문에
#include <iostream>
을 추가하면 간접적으로 time.h을 사용할 수 있습니다.
chrono도 마찬가지 상황입니다.
무엇이 궁금한지 조금 모호하게 쓴것같아서 더 구체적으로 질문올리겠습니다.
제 VS2019에서는 #include <iostream> 만 추가한 상태에서 time함수가 작동이 안됩니다. 그래서 혹시 다른 함수는 되나 찾아봤는데 time_t(0) 함수는 작동합니다. time_t(nullptr)은 또 안되구요.
time 함수를 작동시키려면 #include <chrono> 혹은 #inlclude <time.h> 라이브러리를 추가를 해야합니다
왜 제 VS에서는 이런 현상이 발생하는지 모르겠어서 질문올립니다!