我不小心写了这个代码:“type var []”是什么意思?
int main(string args[]) {
stderr.printf ("Usage: %s", args[0]);
return 1;
}
我的意思是:
int main(string[] args) {
stderr.printf ("Usage: %s", args[0]);
return 1;
}
的区别是参数的定义。奇怪的是,valac
不抱怨第一个版本。
那么,如果我说type var[]
而不是type[] var
,它甚至对编译器意味着什么?
从生成的C代码看来,括号完全被忽略。
此外编译并运行此代码segfaults。
PS:我的Vala版本是0.32.1(和0.34.8显示相同的行为)。
不知道瓦拉,但也有其他语言,允许两者表格,而且它们在这里也是相同的。 – Carcigenicate