我知道为什么这是 C++ 中的错误。
class A
{
A b;
};
int main() {}
因为type of b is unresolved at the compile time
. 那为什么下面的代码是正确的?
class A
{
static A b;
}
int main() {}
如果变量 b 是静态的,它的类型是否已解析?
最后令我惊讶的是,以下代码适用于 JAVA:
public class Main
{
Main g;
public static void main(String[] args)
{
System.out.println("hi");
}
}
为什么呢?我知道静态变量是特定于类而不是实例的。但这并没有给出上述问题的答案......请给我一些启示。