solidity ParserError: Expected ',' but got 'ILLEGAL' --> test4/7.sol:17:50: | 17 | function callSwap() pure public returns(uint8,uint8){ | ^
时间: 2024-04-29 18:23:51 浏览: 169
The error is caused due to a syntax error in the function declaration. The comma (",") used between the return types is not a valid one. It seems like a special character was used instead of a comma.
To fix the error, replace the comma between the return types with a proper comma (",") and try compiling the code again.
Corrected code:
```
function callSwap() pure public returns(uint8, uint8){
// function body
}
```
相关问题
Warning: Function state mutability can be restricted to view --> whatsweb3org/website/docs/solidity-basic/sample-code/data-types/ReferenceTypePassByReference.sol:9:5: | 9 | function foo() public { | ^ (Relevant source part starts here and spans across multiple lines).
这个警告是 Solidity 编译器提供的一个提示,它表示函数 `foo()` 可以被标记为 `view`,以限制其对状态的修改。当函数没有修改合约状态时,我们可以将其标记为 `view`,以提高代码的可读性和安全性。
在你提供的代码示例中,函数 `foo()` 没有修改合约的状态,所以你可以将其声明为 `view`,即 `function foo() public view { ... }`。这样做有助于编译器进行更严格的静态分析,并帮助你避免潜在的错误。
请注意,如果你在函数中进行了状态修改操作,那么你就不能将其标记为 `view`,而应该使用 `pure` 或普通的函数声明。
Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: <SPDX-License>" to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information. --> SS.sol
这个警告提示您的 Solidity 源文件中没有提供 SPDX 许可证标识符。SPDX 许可证标识符是一种标准化的方式,用于在源代码中指定许可证信息。这有助于确保您的代码符合开源标准,并允许其他人更轻松地了解您的代码的许可证信息。
要解决这个警告,您可以按照以下步骤操作:
1. 在您的 Solidity 源文件中添加 SPDX 许可证标识符。您可以在源文件的顶部添加一个注释,其中包含 SPDX 许可证标识符。例如,如果您使用的是 MIT 许可证,则可以添加以下注释:
```
// SPDX-License-Identifier: MIT
```
请根据您使用的许可证类型更新 SPDX 许可证标识符。
2. 如果您的 Solidity 源文件中包含多个合约,则每个合约都应该包含 SPDX 许可证标识符。
3. 如果您的代码不是开源的,则可以使用 `SPDX-License-Identifier: UNLICENSED` 作为 SPDX 许可证标识符。
总之,要解决这个警告,您需要在 Solidity 源文件中添加 SPDX 许可证标识符。这将有助于确保您的代码符合开源标准,并允许其他人更轻松地了解您的代码的许可证信息。
阅读全文