#include "boost/date_time/gregorian/gregorian.hpp"
int main()
{
boost::gregorian::greg_weekday dWeek(boost::date_time::Wednesday);
//Code One
// warning C4482: nonstandard extension used: enum 'boost::date_time::weekdays' used in qualified name
if (dWeek.as_enum()==boost::gregorian::greg_weekday::weekday_enum::Wednesday)
{
std::cout << "Today is Wednesday" << std::endl;
}
//class BOOST_DATE_TIME_DECL greg_weekday : public greg_weekday_rep {
//public:
// typedef boost::date_time::weekdays weekday_enum;
//Code Two
if (dWeek.as_enum()==boost::date_time::Wednesday)
{
std::cout << "Today is Wednesday" << std::endl;
}
}
質問>私はboost::date_time
の比較を行うためにコードワンを使用したコードのトンを見てきました。 C++標準に基づいて、列挙型の使用は間違っています。私はコード2のような解決策を提供しました。正しい方法:: date_time`
誰かが私にクイックルックを与えて、それが本当であるかどうかを比較することができますか?
あなた
号ブースト::グレゴリオ:: greg_weekdayを::水曜日には、エラーC2039が発生します。「水曜日':' boost :: gregorian :: greg_weekday 'のメンバーではありません。 – q0987
@ q0987申し訳ありませんが、私のせいです。私はas_enum()が返す型をチェックしなかった。 –