所以,我有一些代码,看起来像这样,写在与Visual Studio 2010的编译:
if ( outputFile.is_open() )
{
outputFile.close();
}
if ( !outputFile.is_open() ) // condition for sanity-checking
{
outputFile.open("errorOut.txt", ios::out);
}
这对崩溃的访问冲突。 附加调试表明,第一个条件是假的( outputFile
不开放),第二个条件为真( outputFile
被关闭,这是很好的,因为我只是检查它)。 然后open()
被调用,并最终locale::getloc()
试图取消引用空指针,但我不知道为什么这样做是发生(因为这是现在深三类入标准库)。
有趣的是,该文件“errorOut.txt” 不会生成,即使在open
呼叫崩溃。
我花了几个小时的调试器看这一点,但我真的不知道发生了什么事情。 任何人有任何想法,甚至试图确定什么是错的代码? 这是完全有可能是一些代码的其他地方是造成这一状况(继承代码),但有很多的它,我甚至不知道去哪里找。 一切都到这一点似乎罚款。