【问题标题】:sh_none is not a member of 'std::basic_filebuf<_Elem,_Traits>'sh_none 不是 'std::basic_filebuf<_Elem,_Traits>' 的成员
【发布时间】:2011-05-25 00:29:32
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    您使用的是什么版本的 Visual C++?

    您链接到的 Visual C++ 6 文档是 iostreams 的预标准版本,来自 #include &lt;fstream.h&gt;。它不再可用,甚至在 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,以了解有关第三个参数的详细信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多