sh_none不是'std :: basic_filebuf< _Elem,_Traits>'的成员

时间:2010-12-14 01:23:06

标签: c++ visual-c++ iostream file-sharing

我正在尝试使用Microsoft特定filebuf::sh_none变量以独占模式打开fstream(另一个Microsoft特定功能)。我收到了上述错误。我正在导入<fstream>。我该如何解决这个错误?

更新:我发现了thread,建议我尝试使用_SH_DENYNO。代码编译,我现在正在测试它。这对我没有任何意义,因为函数中没有记录。

1 个答案:

答案 0 :(得分:3)

您使用的是哪个版本的Visual C ++?

您链接到的Visual C ++ 6文档是来自#include <fstream.h>的预标准版iostream。它已不再可用,即使在Visual C ++ 6.0中也只是为了向后兼容。

此外,_SH_DENYNO与独占模式相反。您希望_SH_DENYRW获得与sh_none相同的行为。以下是新文档:http://msdn.microsoft.com/en-us/library/44cs32f9.aspx,最终会将您引导至http://msdn.microsoft.com/en-us/library/8f30b0db.aspx以获取有关第三个参数的详细信息。