인프런 커뮤니티 질문&답변

초보언리얼님의 프로필 이미지
초보언리얼

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

전방선언

강의 시작부분에서 time함수에 대해

작성

·

306

0

이전 강의에서 나온 부분이긴한데 상관없을것 같아서 질문합니다.

강의 시작부분에서 코드를 보면 랜덤함수의 시드값을 초기화하는 과정에서 time 함수를 사용하는데, 제가 직접 코딩할때는 time함수가 내장되어있지 않아서 time_t( ) 함수만 비슷하게 존재하더라구요.

혹시 그 이유를 알 수 있을까요?

참고로 chrono 라이브러리를 헤더파일에 추가하면 time함수를 사용할 수 있다는건 알고 있습니다. 강의에서는 왜 되고, 제 비주얼스튜디오에서는 사용할 수 없는지 궁금합니다.

(버전은 VS 2019입니다)

답변 4

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

현재 사용하는 라이브러리 버전마다 차이가 있을 수 있습니다.
iostream.h 내부에서 time.h를 include한다면
별도로 time.h include가 필요 없겠지만,
그게 아니라면 직접 해주시면 됩니다.

0

감사합니다!

0

iostream 헤더 파일을 불러내도 time 함수가 불러지지 않는 경우는 어떤 경우인가요??

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

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에서는 이런 현상이 발생하는지 모르겠어서 질문올립니다!

초보언리얼님의 프로필 이미지
초보언리얼

작성한 질문수

질문하기