【发布时间】:2016-03-20 18:41:59
【问题描述】:
如果您打开一个文件然后关闭它。关闭一个已经关闭的文件,为什么程序会编译?
例如
ifstream inFile;
inFile.open("filename");
inFile.close();
inFile.close();
为什么编译器不能识别出你已经关闭了文件?
【问题讨论】:
-
这不是编译器的责任。
-
这更像是一个逻辑错误吗?我在想编译器会识别一个已经关闭的 ifstream 试图再次关闭并因此返回任何错误?
-
这甚至不是逻辑错误,第二次调用根本没有做任何事情,因为
inFile没有打开的文件流。