2017-05-14 5 views
1

posix_time ::의 Ptime 기본값 : 나는 그렇지가 알 수 있도록 잘 알려진 값 생성자에서 초기화 할c를 향상 ++ :: 내 클래스의 멤버 변수를

class Foo 
{ 
// ... 
private: 
    boost::posix_time::ptime t; 
} 

프로그램에 의해 아직 설정되지 않았습니다 :

Foo::Foo() 
    : t(NULL) // doesnt work 
{} 

그러나 NULL로 설정하는 것은 포인터가 아니기 때문에 작동하지 않습니다.

어떻게 boost::posix_time::ptime을 잘 알려진 값으로 초기화합니까?

답변

2

기본 생성자는 boost::posix_time::not_a_date_time으로 초기화합니다. 해당 t.is_not_a_date_time()을 확인하는 멤버 함수가 있습니다. 자세한 내용은 docs을 참조하십시오.

#include <iostream> 
#include <boost/date_time/posix_time/posix_time.hpp> 

class Foo 
{ 
public: 
    boost::posix_time::ptime t; 
    Foo() : t() {} 
}; 

int main() 
{ 
    Foo foo; 
    std::cout << std::boolalpha 
      << foo.t.is_not_a_date_time() << '\n'; 
} 

Demo on Wandbox