2015-03-11 3 views
6

Скажем, у меня есть класс Foo с функциональной панелью-членом(). У меня также есть полностью несвязанная функция, которая также называется bar().Проблемы с именами имен функций в D

class Foo { 
    /* ... */ 
    void bar() { 
     /* ... */ 
    } 
} 

void bar() { /* ... */ } 

Кажется, что любой вызов bar() изнутри Foo по умолчанию относится к функции-члену.

Как вызвать функцию non-member изнутри Foo?

ответ

13

Как это:

.bar(); 

Ведущее . заставит компилятор смотреть на сферу уровня модуля.

Вы также можете использовать полное имя: module_name.bar(), где module_name - это имя модуля (по умолчанию имя файла без расширения .d).

Смежные вопросы