gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 20:03:55 26 4
gpt4 key购买 nike

我正在尝试编译这段代码:

#include <boost/date_time.hpp>
using boost::posix_time::time_duration;
int main()
{
volatile time_duration t0;
time_duration t1 = t0;
return 0;
}

使用这个命令:

g++ test01.cpp -std=c++11 -I /boost_1_55_0/ -o test01

我得到这个错误:

test01.cpp:6:22: error: no matching function for call to ‘boost::posix_time::time_duration::time_duration(volatile boost::posix_time::time_duration&)

我正在使用 gcc 4.8.2;知道如何解决这个问题吗?

最佳答案

这是由于 a GCC bug .像这样解决它:

volatile time_duration t0;
time_duration t1 = const_cast<time_duration&>(t0);

之所以有效,是因为 const_cast 可以消除波动性和常量性。请注意,我不确定这有多严格。

另一种解决方法是首先摆脱 volatile;如今,它很少起到任何作用。

关于c++ - 在boost::posix_time中,如何从volatile time_duration构造time_duration?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24449504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com