Solidity报错DeclarationError:标识符未找到或不唯一,求排查声明错误
合约错误排查结果
你的代码里存在核心拼写错误,直接触发了DeclarationError:
- 类型标识符拼写错误:Solidity中无符号整数的正确类型是
uint(unsigned integer的缩写),你写成了unit——编译器无法识别这个不存在的类型,因此抛出“标识符未找到”的错误。
修正后的代码如下:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract FunctionDemo { // 可选:修正合约名拼写,不修正也不影响编译 uint age = 18; // 将unit改为uint function changeAge(uint _x) public view returns(uint) { // 所有unit替换为uint return _x + 1; } }
额外说明:changeAge函数使用view修饰符是合理的,因为它仅执行计算并返回结果,未修改合约状态。
内容的提问来源于stack exchange,提问作者Abhiraj Prasad
相关产品推荐
相关产品推荐

