Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在boost::posix_time中,如何从volatile time_duration构造time_duration?_C++_Boost_Volatile - Fatal编程技术网

C++ 在boost::posix_time中,如何从volatile time_duration构造time_duration?

C++ 在boost::posix_time中,如何从volatile time_duration构造time_duration?,c++,boost,volatile,C++,Boost,Volatile,我正在尝试编译以下代码: #include <boost/date_time.hpp> using boost::posix_time::time_duration; int main() { volatile time_duration t0; time_duration t1 = t0; return 0; } 我得到了这个错误: test01.cpp:6:22:错误:调用“boost::posix_time::time_duration::time_duratio

我正在尝试编译以下代码:

#include <boost/date_time.hpp>
using boost::posix_time::time_duration;
int main()
{
  volatile time_duration t0;
  time_duration t1 = t0;
  return 0;
}
我得到了这个错误:

test01.cpp:6:22:错误:调用“boost::posix_time::time_duration::time_duration::time_duration”(volatile boost::posix_time::time_duration&)时没有匹配的函数

我使用的是GCC4.8.2;你知道如何解决这个问题吗?

这是由于。解决方法如下:

volatile time_duration t0;
time_duration t1 = const_cast<time_duration&>(t0);
volatile time\u duration t0;
持续时间t1=常数(t0);
它之所以有效,是因为
const_cast
可以消除波动性和稳定性。请注意,我不确定这有多安全


另一种解决方法是首先去除
易失性
;现在它很少有任何用途。

你想通过声明它是volatile来达到什么目的呢?@BartoszKP我使用的是gcc 4.8.2版,而这个bug可能在gcc 4.3中。@e271p314:从这个评论中我可以看出,你只阅读了整个页面的30%。阅读整个bug历史记录。
volatile time_duration t0;
time_duration t1 = const_cast<time_duration&>(t0);