D 中的函数命名空间问题
Function namespacing issues in D
假设我有一个带有成员函数 bar() 的 class Foo。我还有一个完全不相关的函数,它恰好也被命名为 bar()。
class Foo {
/* ... */
void bar() {
/* ... */
}
}
void bar() { /* ... */ }
似乎从 Foo 内部对 bar() 的任何调用都默认为成员函数。
如何从 Foo 内部调用非成员函数?
像这样:
.bar();
领先的.
将强制编译器查看模块级范围。
您也可以使用完全限定名称:module_name.bar()
,其中 module_name
是模块的名称(默认情况下,文件名不带 .d
扩展名)。
假设我有一个带有成员函数 bar() 的 class Foo。我还有一个完全不相关的函数,它恰好也被命名为 bar()。
class Foo {
/* ... */
void bar() {
/* ... */
}
}
void bar() { /* ... */ }
似乎从 Foo 内部对 bar() 的任何调用都默认为成员函数。
如何从 Foo 内部调用非成员函数?
像这样:
.bar();
领先的.
将强制编译器查看模块级范围。
您也可以使用完全限定名称:module_name.bar()
,其中 module_name
是模块的名称(默认情况下,文件名不带 .d
扩展名)。