新版无法函数同名!!!
旧版可以……
pragma solidity 0.8.0;
//函数重载
//1函数名称相同
//2函数参数不同(类型、数量)
//3不考虑函数的返回值是否相同
contract chongzai{
uint public a = 0;
function test1(uint num){
a = 100;
}
function test1(uint8 num){
a = 200;
}
function testIt(){
//编译不能够通过,无法明确是哪一个函数因为100可以匹配uint8 uint;
test1(100);
//编译能够通过,只能可以匹配uint8;
test1(256);
}
//虽然编译可以通过但是不可以被调用,无法名曲hi哪一个函数
function test2(uint60 num){
a = 100;
}
function test2(address num){
a = 200;
}
function test(){
//test2(0x5B38Da6a701c568545dCfcB03FcB875f56beddC4);
test2(100);
}
}
本文探讨了在Solidity 0.8.0版本中函数重载的具体限制条件,包括函数同名但参数不同的情况,并提供了示例代码来说明哪些情况下函数重载可行,哪些情况下会遇到编译错误。
9925

被折叠的 条评论
为什么被折叠?



