我当前的程序有问题。由于某种原因,它总是在 Windows 上的最后一行代码之后崩溃。我收到“应用程序不再响应”错误或类似情况。所以我尝试了英特尔检查员。幸运的是,它在我的项目中告诉了我一些错误,我访问了一些未初始化的内存。
除了我理解的这个明显的问题之外,我还得到了一些:
- 不正确的 memcpy 调用:
boost::algorithm::trim()
- 未初始化的部分内存访问:
myptree.get<boost::posix_time::ptime>("path.to.node")
wheremyptree
is of typeboost::property_tree::ptree
- 未初始化的内存访问 in:
cout << myptime
wheremyptime
is of typeboost::posix_time::ptime
...
这是否意味着我没有正确使用 boost 库函数?或者这是误报?
我只是感到困惑,因为这些功能可以正常工作,它们会按照我的意愿去做,而且我没有收到任何错误消息。
最后我还收到了一个内存未释放的警告(来自 [Unknown] 来源)。
修剪示例:
#include <iostream>
#include <boost/algorithm/string.hpp>
int main() {
std::string test = " test ";
boost::algorithm::trim(test);
std::cout << test << std::endl;
return 0;
}
给我一个不正确的 memcpy 调用...