D中的函数命名空间问题

时间:2015-03-11 14:20:37

标签: d

假设我有一个带有成员函数bar()的类Foo。我还有一个完全不相关的函数,它恰好也被命名为bar()。

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

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

似乎在Foo中对bar()的任何调用都默认为成员函数。

如何从Foo中调用非成员函数?

1 个答案:

答案 0 :(得分:13)

像这样:

.bar();

前导.将强制编译器查看模块级范围。

您还可以使用完全限定名称:module_name.bar(),其中module_name是模块的名称(默认情况下,文件名不带.d扩展名。)