代码之家  ›  专栏  ›  技术社区  ›  cybevnm

受保护的模块成员

d
  •  5
  • cybevnm  · 技术社区  · 16 年前

    根据D文件( http://www.digitalmars.com/d/2.0/attribute.html#ProtectionAttribute )受保护的模块成员是非法的,但编译器允许我这样做。

    module foo;
    protected
    {
        int bar; 
    }
    

    这是文档、编译器错误还是我做错了什么?
    事实上,这并不是文档和现实之间唯一的不一致之处,所以这是参考文献( http://www.digitalmars.com/d/2.0 是真的吗?是否有更真实的语言描述?
    我的配置:DMD 2.047、OS Windows 7、x86

    1 回复  |  直到 16 年前
        1
  •  4
  •   torhu    16 年前

    编译器允许属性出现在它们没有任何效果的地方。这是不幸的,因为它令人困惑。希望他们最终不会被允许,就像他们中的一些人已经被禁止了。

    联机文档不完整。如果你对学习D很认真,你可能会想买安德烈·亚历山大·埃斯库的书《D编程语言》。它是一个月前发布的。它涵盖了一些在线文档所没有的内容,反之亦然。

    你可以通过搜索 D newsgroup archives 或者通过在新闻组中询问,搜索DigitalMars网站, D wiki 不过,文档本身可能几年都不会更新。