我在下面有2个打印声明。第一个print语句工作正常但第二个print返回null值。可能是什么原因。
提前致谢。
void setup()
{
setSize(800);
GUI g=new GUI();
Println(g); // this prints fine
}
void draw()
{
Println(g); //this becomes null
}
答案 0 :(得分:0)
首先,请发布您正在运行的实际代码。 println()
函数以小写字母开头,因此您发布的代码将无法编译。请发布MCVE。
其次,请了解范围如何运作。您在一个函数中创建的变量在其他函数中不可用。因此,您在g
函数中创建的setup()
变量与g
函数中的draw()
变量不同!
所有这一切,你的问题是由于Processing包含一个你不应该捣乱的g
变量这一事实引起的。更改变量的名称以避免此问题。当然,这会给你一个编译器错误,因为你试图使用其范围之外的变量。通过声明要在草图顶部的多个函数中使用的变量来解决此问题。