- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在混音中遇到这个错误:
Invalid type for argument in function call. Invalid implicit conversion from address to address payable requested
它指的是下面第 9 行的 msg.sender
。这是我正在编写的代码:
function startProject(
string calldata title,
string calldata description,
uint durationInDays,
uint amountToRaise
) external {
uint raiseUntil = block.timestamp.add(durationInDays.mul(1 days));
Project newProject = new Project(
msg.sender,
title,
description,
raiseUntil,
amountToRaise
);
projects.push(newProject);
为什么会出现此错误?我该如何解决?
最佳答案
linked code包含 contract Project
及其 constructor
的定义:
constructor
(
address payable projectStarter,
string memory projectTitle,
string memory projectDesc,
uint fundRaisingDeadline,
uint goalAmount
) public {
// ...
}
它接受 address payable
作为第一个参数。但是,默认情况下,msg.sender
不是payable
(自 Solidity 0.8.0 起)。
解决方案:将 address
类型转换为 address payable
:
Project newProject = new Project(
payable(msg.sender),
title,
description,
raiseUntil,
amountToRaise
);
关于javascript - 如何解决错误 "Invalid type for argument in function call. Invalid implicit conversion from address to address payable requested",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70052775/
我有以下代码,该代码出现故障,无法从另一个契约(Contract)创建应付契约(Contract)。 pragma solidity ^0.4.16; Contract Factory { u
我做了一个名为 juice 的函数,它可以让顾客选择杯子的大小他们的果汁并返回价格或应付金额,但是当我选择 switch 语句的默认情况时出现错误它应该返回 0 但输出是 2。 #include i
我正在尝试在 REMIX IDE 上部署 ERC777 测试合约;但是当我尝试处理契约(Contract)时,VM 给了我以下错误 VM error: revert. revert The trans
我使用的版本是0.5.2 我正在 Remix IDE 中执行以下代码 pragma solidity ^0.5.2; contract Lottery { address public ma
我试图通过Reaction应用程序调用此函数:。它包括发射和它的返回数组,我总是看不到来自以太扫描https://sepolia.etherscan.io/的日志和来自MetamASK的交易标签被发送
我在混音中遇到这个错误: Invalid type for argument in function call. Invalid implicit conversion from address to
我是一名优秀的程序员,十分优秀!