2015-03-11 16 views
6

Nói rằng tôi có một Foo lớp với quầy bar hàm thành viên(). Tôi cũng có một hàm hoàn toàn không liên quan, điều này cũng được đặt tên là bar().vấn đề Chức năng namespacing trong D

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

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

Dường như mọi lệnh gọi tới bar() từ bên trong Foo mặc định là chức năng thành viên.

Làm cách nào để gọi hàm không phải thành viên từ bên trong Foo?

Trả lời

13

Như thế này:

.bar(); 

Các lãnh đạo . sẽ buộc các trình biên dịch để nhìn vào phạm vi mô-đun cấp.

Bạn cũng có thể sử dụng tên đủ điều kiện: module_name.bar(), trong đó module_name là tên của mô-đun (theo mặc định, tên tệp không có tiện ích mở rộng .d).

Các vấn đề liên quan