我不小心寫了這個代碼:「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