D的betterC的auto问题
原文
问题是当前由胶合层检查-betterC,跳过(通常是根模块外声明,无-i的)未生成代码声明.
@betterC不是语言/编译器功能,而是用户注解.
//a0.d
//用auto而不是int[]来在函数体中强制语义
auto foo(int i)
{
return [i];
}
//动与整[]有区别.
int[] bar()(int i)
{
return [i];
}
//主函数
import a0;
extern(C) int main()
{
//仅在`主模块(命令行有它)`或用`-i`传递时发射foo并报错
foo(1);
// bar在主中实例化(发射至主),因此胶水层总是触发错误.
bar(2);
return 0;
}
//dmd -betterC -c %编译,
浙公网安备 33010602011771号