我在 Pascal 中遇到括号错误。怎么了?

I am getting a parenthesis error in Pascal. What is wrong?

下一行

writeln('The decimal equivalent is ', BinToDec(dec));

给我错误

'('预期但')'找到

怎么了?

谢谢

dec 是递减序数变量的内部过程。编译器在遇到 dec 时需要 ( 左括号符号,就像任何其他过程调用一样。因此错误。

我怀疑您认为 dec 是一个变量,但事实并非如此。如果是这样,那么编译器将看到该符号而不是内部过程。在任何情况下,您都应该使用不同的变量名以避免混淆。

您收到此编译器错误的原因是您的代码行无法访问任何名为 "dec" 的变量或常量。从这个意义上说,您希望在此处传递给 BinToDev 的任何值都不可用。

因此,Delphi 将 "dec" 解释为来自系统单元的 Dec() 函数。此函数接受一个参数,因此编译器需要左括号“(” - 因此出现错误。

如果我在某处定义了一个 "dec" 变量,你的代码行会为我编译。如果我删除变量,我会得到你的错误。