我有这些类:
class FS{
static char mount(Partition* p)
{return myImpl->mount(p);}
/*...*/
KernelFS* myImpl;
};
class KernelFS{
char mount(Partition* p){
/*...*/
while(available[i]) i++;
}
/*...*/
static bool available[26];
};
主程序仅使用FS的静态函数,例如:
void main(){
Partition* p=/*...*/;
FS::mount(p);
/*...*/
}
当调用FS::mount(p)时,它会调用myImpl->mount(p)(这是KernelFS类的一个函数)。这里的问题在于...
while(available[i]) i++;
...它出现了问题!我觉得问题在于我没有初始化数组available [26],而且我不知道怎么做...还有什么其他的问题呢?请帮帮我。
顺便说一下,main()从未创建FS或KernelFS对象,所以我认为构造函数没有用处...
KernelFS* myImpl;
被声明为静态变量,是吗? - Sergey Kalinichenko