我有一份合同:
pragma experimental ABIEncoderV2;
contract Ballot {
constructor(string[] memory proposalNames) public {...}
}我试过:
pragma solidity >=0.4.25 <0.6.0;
pragma experimental ABIEncoderV2;
import "truffle/Assert.sol";
import "truffle/DeployedAddresses.sol";
import "../contracts/voting.sol";
contract TestVoting {
function testCounter() public {
Ballot myContract = new Ballot(["foo", "bar"]);
}
}我有个错误:
TypeError: Invalid type for argument in function call. Invalid implicit conversion from string memory[2] memory to string memory[] memory requested.
Ballot myContract = new Ballot(["foo", "bar"]);我该怎么解决呢?
发布于 2020-10-29 19:39:37
改变这一点:
constructor(string[] memory proposalNames)对此:
constructor(string[2] memory proposalNames)或者这个:
Ballot myContract = new Ballot(["foo", "bar"]);对此:
string[] memory proposalNames = new string[](2);
proposalNames[0] = "foo";
proposalNames[1] = "bar";
Ballot myContract = new Ballot(proposalNames);https://ethereum.stackexchange.com/questions/89747
复制相似问题