我在Pascal中得到一个括号错误。有什么问题?

时间:2018-01-17 16:39:02

标签: delphi pascal

以下一行

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

给我错误

'('预期,但')'结果

有什么不对?

感谢

2 个答案:

答案 0 :(得分:8)

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

因此,德尔福解释了" dec"作为系统单元的Dec()函数。这个函数接受一个参数,所以编译器需要左括号"(" - 因此错误。

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

答案 1 :(得分:3)

dec是一个减少序数变量的内在过程。遇到dec时,编译器需要(开放的parens符号,与任何其他过程调用一样。因此错误。

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