小编Nal*_*hri的帖子

Boost property_tree 错误:在 .ini 文件中获取元素时,将数据转换为类型“j”失败

我有一个 .ini 文件包含以下数据

[SYSTEM]
num_of_vps = 1
Run Code Online (Sandbox Code Playgroud)

我有这段代码来读取 .ini 文件中的元素。(uint定义为typedef unsigned int uint

boost::property_tree::ptree pt; 
boost::property_tree::ini_parser::read_ini(iniFilePath, pt);
hwCount = pt.get<uint>("SYSTEM.num_of_vps"); 
Run Code Online (Sandbox Code Playgroud)

我从包含上述代码的文件创建了一个文件,并在文件中的包装函数中调用了它main.cc。然后我收到以下错误

抛出 'boost_1_68_0::exception_detail::clone_impl<boost_1_68_0::exception_detail::error_info_injector<boost_1_68_0::property_tree::ptree_bad_data> >' 实例后调用的终止what():将数据转换为类型“j”失败的堆栈跟踪

#12 0x00002aaab613fcd5 in abort () from /lib64/libc.so.6
#13 0x00002aaab9b29315 in __gnu_cxx::__verbose_terminate_handler () at ../../../../src/gcc-7.3.0/libstdc++-v3/libsupc++/vterminate.cc:95
#14 0x00002aaab9a9e8f6 in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../src/gcc-7.3.0/libstdc++-v3/libsupc++/eh_terminate.cc:47
#15 0x00002aaab9a9e941 in std::terminate () at ../../../../src/gcc-7.3.0/libstdc++-v3/libsupc++/eh_terminate.cc:57
#16 0x00002aaab9a9ea74 in __cxxabiv1::__cxa_throw (obj=<optimized out>, tinfo=0x2aaab9e1ff60 <typeinfo for boost_1_68_0::exception_detail::clone_impl<boost_1_68_0::exception_detail::error_info_injector<boost_1_68_0::property_tree::ptree_bad_data> >>, dest=0x2aaab99bef18 <boost_1_68_0::exception_detail::clone_impl<boost_1_68_0::exception_detail::error_info_injector<boost_1_68_0::property_tree::ptree_bad_data> >::~clone_impl()>) at ../../../../src/gcc-7.3.0/libstdc++-v3/libsupc++/eh_throw.cc:93
#17 0x00002aaab99bec82 in boost_1_68_0::throw_exception<boost_1_68_0::exception_detail::error_info_injector<boost_1_68_0::property_tree::ptree_bad_data> …
Run Code Online (Sandbox Code Playgroud)

c++ boost boost-propertytree istringstream c++14

5
推荐指数
1
解决办法
2596
查看次数

标签 统计

boost ×1

boost-propertytree ×1

c++ ×1

c++14 ×1

istringstream ×1