众所周知,solidity一个版本,一个语法,TMD
今天在学习solidity的时候遇到个问题,这里分享给大家。顺便自己做个笔记以后好找
contract Lottery {
address[3] cormorants;
uint8 Count = 0;
uint nonce = 0;
function draw() public payable {
require(msg.value == 0.01 ether);
require( participantsCount < 3);
require(drawSituation(msg.sender) == false);
cormorants[Count] = msg.sender;
Count++;
if (Count == 3) {
produceWinner();
}
}
}```
这段代码,在remix中编译会报错DeclarationError: Undeclared identifier. require(participants Count < 3);
众所周知,solidity的报错都是非常吝啬且晦涩难懂。
参考其他语言报错原因,这种报错一般都是
1、没有声明或者定义这个变量------在源码或头文件中定义此变量,多尝试定义一下,比如定义类型,或者定义初始化值
2、包含这个变量的函数在定义时,没在函数名前面增加类的名称
所以这段代码正确的是补上一个 uint participantsCount;
solidity学习讨论交流群:1145166237