0

According to some resources, this well known error occur because of versions 0.4.X to 0.5.X change.

Previously I compiled contract with ^0.5.1, to solve this error currently I'm using 0.4.4. But still the error is there.

  fundsWallet.transfer(msg.value);   

Error:

Error: Member "transfer" not found or not visible after argument-dependent lookup in address fundsWallet.transfer(msg.value);
^------------------^

I have also changed my declaration, from:

address public fundsWallet;

to

address public payable fundsWallet;

still error is:

Error: Expected identifier, got 'Payable'

How can I fix this issue in version ^0.4.4 as well as ^0.5.1?

  • 1
    In 0.5.x, you can just use address payable public fundsWallet;. (You had "public" and "payable" reversed. In 0.4.4, there's no such thing as address payable. Share the rest of your code if you need help there. – user19510 Jan 18 at 5:12
  • I've referred this contract from given link: etherscan.io/address/… – Rudrika Jan 18 at 5:40
  • 1
    As that page indicates, it was compiled with the version v0.4.19+commit.c4cbbb05. It compiles fine under that version now too. In 0.4.4, I don't think address.transfer existed yet. – user19510 Jan 18 at 5:48
  • Yes, I've changed version from 0.4.4 to 0.4.19. Thank you for answer. – Rudrika Jan 18 at 5:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.