当我使用“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;