I'm trying to get myself familiarized with ethereum. So I was going through a repo, and tried to rum the code :
function transferFundOnResolve(uint cid) private {
// Could also be used: complainMap[cid]._status == Status.Resolved &&
if(complainMap[cid]._reward > 0) {
if(policeAccounts[complainSolver[cid]] != true) {
complainSolver[cid].transfer( complainMap[cid]._reward );
complainMap[cid]._reward = 0;
}
else {
for(uint i=0; i<complainMap[cid]._contributors.length; i++) {
complainMap[cid]._contributors[i].transfer( complainMap[cid]._contAmount[i] );
}
complainMap[cid]._reward = 0;
}
}
}
As it says TypeError: "send" and "transfer" are only available for objects of type "address payable", not "address".
So I modified and added payable() like :
function transferFundOnResolve(uint cid) private {
// Could also be used: complainMap[cid]._status == Status.Resolved &&
if(complainMap[cid]._reward > 0) {
if(policeAccounts[complainSolver[cid]] != true) {
complainSolver[cid].transfer( payable(complainMap[cid]._reward) );
complainMap[cid]._reward = 0;
}
else {
for(uint i=0; i<complainMap[cid]._contributors.length; i++) {
complainMap[cid]._contributors[i].transfer( payable(complainMap[cid]._contAmount[i]) );
}
complainMap[cid]._reward = 0;
}
}
}
Now it says : ParserError: Expected primary expression.
How should I resolve this ?
I have pragma solidity ^0.5.16;