2011-12-09 29 views
2
struct Foo{ 

    int _a; 

    this(int a){ _a = a; } 

    int opCall(int b){ return b * b; } 
} 

Foo f; 
int rt = f(33); //Error: cannot implicitly convert expression ((Foo __ctmp1294 = 0; 
       //, __ctmp1294).this(33)) of type Foo to int 

我在TDPL或網站上找不到關於opCall的足夠信息。如何正確使用opCall?

我需要this()opCall(),但是,當this()存在時,上述代碼不起作用。我必須擺脫構造函數嗎?

回答

5

上面的代碼應該可以工作,但並不是由於bug #6036