我一直在尝试使用我通过快速谷歌搜索找到的这个示例来遍历一个目录:
namespace bf = boost::filesystem;
bf::path p("somedir");
bf::directory_iterator end_iter;
for (bf::directory_iterator iter(p); iter != end_iter; ++iter) {
}
但是,当通过终端运行时,默认构造函数会导致:
testapp(6538) malloc: *** error for object 0x10fee9820: pointer being freed was not allocated
. 进一步调试表明,这发生在 directory_iterator 的构造函数中。这有发生在其他人身上吗?如果我通过 NetBeans 运行它,一切都运行良好。
我使用 OSX 10.8.3 和 GCC 4.8