2
我有一個類的成員函數與package
protection attribute,我想覆蓋它在一個子類,在同一個包,不同的模塊。 dmd編譯器大聲說我不能覆蓋非虛函數。如果我使功能public
,它實際上工作。在D中覆蓋'包'成員函數
爲什麼包函數不是虛擬的?
示例代碼:
module test.A;
class A {
package void doSomething() {}
}
module test.B;
import test.A;
class B : A {
package override void doSomething() {} // ERROR! overriding a non-virtual function
}
是否受保護? – 2012-02-29 23:27:22
從我看到的,B不是子類... – DejanLekic 2012-03-01 02:01:35
對不起,我的例子中的錯誤。 B是一個子類,我會解決它。 '保護'確實有效,但我需要它'包',嘿嘿。 – 2012-03-01 04:03:25