-2
void FileManager::CloseFile(File * const file)
{
    for (int i = 0; i < MAX_OPEN_FILES; ++i)
    {
        if ((_openFiles[i] == file) == true)
        {
            _openFiles[i] == NULL;
        }
    }
...

_openFiles 是 FileManager 的私有成员,只是 File * 的数组。
当在立即窗口中执行完全相同的测试时,我得到的结果为 1!?!

编辑== true 纯粹是作为健全性检查添加的!

4

2 回答 2

4

你有

 _openFiles[i] == NULL;

那应该是

 _openFiles[i] = NULL;

?

于 2009-06-26T16:16:17.917 回答
2

业力不足以添加评论,但如果cma的答案是正确的(条件应该是分配),那么我希望原始帖子没有被修复,或者至少有一个说明它已被修复. 我盯着它看了很长时间,试图找到错误,然后放弃并阅读答案。

对于任何可以的人,请随时删除此“答案”。

于 2009-06-26T16:50:09.813 回答