RT,我现在要实现一个数据结构,比方说一棵可以求 LCA 的树。我以 struct 的形式实现了这棵树。我在内部定义了一个子结构体 Dia,用以维护树上的直径信息。
struct LCATree{
int DIS(int x,int y){
}
struct Dia{
int x,y,z;
Dia(){}
Dia(int X,int Y){x=X,y=Y,z=DIS(x,y);}
};
};
但是上述代码会报错,显示是 Dia 中调用 DIS 函数的时候会出现问题。假如把 DIS 函数和所有与之相关的变量全部加上 static 修饰,那么编译就成功了;可是,此时所有被 static 修饰的变量就变成了在所有 LCATree 类型的元素间共享的变量,并非在每个元素间独立的变量。
有没有办法,使得在每个 LCATree 的元素中独立存在 Dia 的子定义?或者,有没有什么更好的等价写法?望各位大佬不吝赐教。