boost :: filesystem调用是析构函数中的seg-faulting

时间:2012-03-13 22:07:42

标签: c++ boost visual-studio-2005 filesystems

我有一个包装类,它创建一个文件的临时副本。我希望它在破坏时被删除,但Boost在每次调用boost文件系统时都会出现故障。

MyWrapperClass::~MyWrapperClass()
{
  //if(boost::filesystem::exists("path/to/file.txt"))  //this seg-faults
  //if(boost::filesystem::exists(_pathString))         //so does this
  {
    boost::filesystem::remove(_pathString);            //this also seg faults
  }
}

_pathString变量与用于首先创建文件副本的变量相同。在调试器中,似乎路径字符串确实是正确的。每个文件系统函数都通过path_traits::dispatch(boost版本1_49_0 path.hpp第135行)

我不知道我是否在这里做某事,但是随着电话堆栈进入杂草,我来到boost_1_49_0\libs\filesystem\v3\src\path_traits.cpp。第63行的convert_aux函数创建const char* from_next;并将其传递给函数in,而不进行初始化。调试器说这会评估为错误指针,并且inMicrosoft Visual Studio 8\VC\crt\src\xlocale的定义中出现了seg-fault。

为什么会发生这种情况?这可能是一个提升中的错误,还是更有可能是我七岁的视觉工作室出现问题?

0 个答案:

没有答案