例如,我想用这个签名编写一个函数:int foo(char[])
并使用char[5] x; foo(x)
.
目前我收到一个编译错误,指出 char[] 与 char[5] 不同。
我想写:int foo(uint SIZE)(char[SIZE])
但是我必须在调用 foo: 时显式设置长度foo!5(x)
,例如之前的示例。
编辑:你们是对的,我的函数实际上看起来像foo(ref char[])
我已经声明了它@nogc
。我想要做的是用数据填充给定的静态数组。从更广泛的意义上说,我正在尝试实现一个退化format
函数,因为标准库肯定在使用 GC,而我不能从我的其他非 GC 代码中调用它。对此也有任何想法吗?