當我使用「in」契約覆蓋D中的函數時,將檢查繼承的「in」契約。如果它們失敗,則檢查重寫的「in」合同。如果我沒有在合同中指定任何內容,那麼它就會被解釋爲有一個空的「in」合同。所以下面的代碼編譯併成功運行。 module main;
import std.stdio;
interface I
{
void write(int i)
in
{
as
是否可以編寫單個模板函數來遞增不同結構的(數字)字段?例如: struct Color
{
ubyte a,r,g,b;
}
struct Point
{
double x, y;
}
我想是這樣的: T update(T, A)(T t, A a)
if (is(T == struct))
{
auto vals = t.tupleof;