2016-07-28 74 views

回答

1

您的別名錯誤,您的導入引入了含糊之處。如果您希望它公開可重載,請不要將別名設爲私有!

一旦別名公開(默認BTW),編制本會吐出一個名稱衝突的錯誤:

iii.d(6): Error: a.foo(T)() at ii.d(2) conflicts with b.foo at i.d 

然後,它是消除歧義(指定b.foo!int())的一個簡單的事情,或者更好,從使用點刪除不必要的import a

//app.d 
void main() 
{ 
    import b; 
    foo!int(); 
} 

特殊int!

對於更復雜的情況下,你也可以爲模板的包裝和轉發你的論點,但在這裏簡單的別名超載 - 當alias foo = a.foo;做,沒有private,會做的伎倆。