实体错误:预期的标识符,得到'LParen'

时间:2018-08-03 01:43:23

标签: solidity

我遇到了错误:

pattern

问题是,此代码来自Solidity文档!我已经尝试了很多解决此错误的方法,但无济于事。我获得代码的链接是:https://solidity.readthedocs.io/en/latest/solidity-by-example.html

我附有错误图片:

enter image description here

有人可以向我解释我在做什么错吗?我有正确的版本,如下所示:

kalyan @ kalyan:/ usr / bin $松露版本

松露v4.1.13(核心:4.1.13)

Solidity v0.4.24(solc-js)

它在Ubuntu 18.04上运行。还有什么我应该做的?

编辑

构造函数之前的代码是:

Pattern

2 个答案:

答案 0 :(得分:2)

我在构造器方面也确实遇到了这个问题,这也可以很容易地解决

如果您在 VSCODE 中运行代码,则可能未安装扩展程序 Solidity Extended

那你就有了 UNININSTALL ,并重新加载您的vscode编辑器

如果您已经卸载并未重新加载vs代码,则可能会 面临同样的问题

> also set the pragma solidity version to pragma solidity >=0.4.21 < 0.7.0;

这对我有用

答案 1 :(得分:1)

在此处查看类似错误的答案:https://ethereum.stackexchange.com/a/56727/27511 为了方便起见,我正在转贴...

我有类似的问题。就我而言,这是我安装的solc的系统版本。这就是我所拥有的。我通过Homebrew安装了solc,还安装了松露。当我运行truffle version时:

Truffle v4.1.14 (core: 4.1.14)
Solidity v0.4.24 (solc-js)

所以我有最新版本的松露,看起来也很特别。但是,当我运行solc --version

solc, the solidity compiler commandline interface
Version: 0.4.19+commit.e67f0147.Darwin.appleclang

我的系统固定版本不同。我发现我已经通过Homebrew(在Mac上)安装了Solidity,因此与松露使用的版本不同。因此,在我的情况下,解决方法是使用自制软件升级Solidity,将其从0.4.19升级到0.4.24,然后我的问题就消失了。 要使用Homebrew升级Solidity:

brew update
brew upgrade
brew tap ethereum/ethereum
brew install solidity
brew linkapps solidity

如果已经安装了Solidity,那么前两行可能就是您所需要的,但是为了完整起见,添加了其余两行。

这是在Mac上,如果您在Linux上,则可能是一个类似的问题,请确保升级系统安装的可靠性,而不是松露安装的版本。