有点初学者,所以请多多包涵。我正在编写一些代码来试验 shred sporking 和 remove,但遇到了一个问题。这是我的代码的一部分:
while(hid.recv(msg)) //Hid hid is above
{
if(msg.isButtonDown()) //HidMsg msg is above
{
spork ~ test() @=> Shred @ s; //test is just an empty function
}
if(msg.isButtonUp())
{
Machine.remove(s.id());
}
}
然而,有了这个,我得到错误“未定义的变量's'......”。我可以说,因为定义's'只发生在 msg.isButtonDown() 为真之后,所以我尝试了一种不同的方法。
while(hid.recv(msg))
{
Shred s;
if(msg.isButtonDown()) //HidMsg msg is above
{
spork ~ test() @=> s; //test is just an empty function
}
if(msg.isButtonUp())
{
Machine.remove(s.id());
}
}
但是,这会导致错误“无法删除:没有 id 为 0 的碎片...”。我不明白为什么 s.id() 会是 0?不应该在第一个 if 语句中将 s.id() 定义为 sporked id 吗?我似乎无法克服这一点。
谢谢,
凯文金