2017-05-14 7 views
1

posix_time :: PTIMEのデフォルト値:私は、私はそれがない持っている知っているようによく知られた値にコンストラクタでそれを初期化したいcが後押し++ ::私は私のクラスのメンバ変数を持って

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

プログラムによってまだ設定されていません:

しかし、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

関連する問題