21.Solidity-函数的重载

新版无法函数同名!!!

旧版可以……

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);
        
    }
}

你可能感兴趣的:(学习笔记,区块链,智能合约)