最近在编写智能合约时,出现一些错误,这里做个记录,方便日后查询。
错误1:
CompilerError: Stack too deep, try removing local variables.
错误原因:一个function里面的变量 数量不能超过(16),包括了入参和返回值。
解决办法:修改function中的参数,将其控制在16个内。
错误2:
Error: Type string memory is not implicitly convertible to expected type string storage pointer
解决办法:在变量前面加memory就可以了
错误3:
Accessors for mapping with dynamically-sized keys not yet implemented
错误原因: mapping不能用public修饰
解决办法:删除mapping的public修饰符