Защищенные члены модуля - PullRequest
5 голосов
/ 21 июля 2010

Согласно D документам (http://www.digitalmars.com/d/2.0/attribute.html#ProtectionAttribute) члены защищенного модуля недопустимы, но компилятор позволяет мне это делать.

<code>module foo;
protected
{
    int bar; 
}

Является ли эта ошибкадокументы, ошибка компилятора или я что-то не так делаю?На самом деле это не единственное несоответствие между документацией и реальностью, так что эта ссылка (http://www.digitalmars.com/d/2.0) актуальна? Существует ли где-нибудь более актуальное описание языка?Моя конфигурация: dmd 2.047, ОС Windows 7, x86

1 Ответ

4 голосов
/ 21 июля 2010

Компилятор допускает атрибуты в местах, где они не имеют никакого эффекта.Это неудачно, потому что это сбивает с толку.Надеемся, что в конечном итоге они будут запрещены, как некоторые из них уже сделали.

Электронная документация не является полной.Если вы серьезно относитесь к изучению D, вы можете купить книгу Андрея Александреску «Язык программирования D».Он был выпущен всего месяц назад.Он охватывает некоторые вещи, которых нет в онлайн документации.И наоборот.

Вы можете найти множество ответов, выполнив поиск в архивах D группы новостей или запросив в группе новостей поиск по сайту digitalmars на D wiki * 1008.* и т. д. Сами документы, вероятно, не будут обновляться годами.

...