I';m有一些范围问题(for循环后出现未知标识符错误) 我使用VisualStudio 2008来解决一些问题,并使用C++进行开发。我有一个错误,我不知道为什么会发生。这是所有的代码。错误发生在以下行: cout<<levels[0][0]->left->value;

I';m有一些范围问题(for循环后出现未知标识符错误) 我使用VisualStudio 2008来解决一些问题,并使用C++进行开发。我有一个错误,我不知道为什么会发生。这是所有的代码。错误发生在以下行: cout<<levels[0][0]->left->value;,c++,visual-studio-2008,scope,C++,Visual Studio 2008,Scope,关于标高的简写是: //declaring it binaryValNode*** levels; levels = new binaryValNode** [size]; //adding arrays to the array: for(int i = 0;i<size;i++){ levels[i] = new binaryValNode* [size]; //adding the objects for(int k = 0; k <= i ; k++) {

关于标高的简写是:

//declaring it
binaryValNode*** levels;
levels = new binaryValNode** [size];

//adding arrays to the array:
 for(int i = 0;i<size;i++){
     levels[i] = new binaryValNode* [size];
//adding the objects
 for(int k = 0; k <= i ; k++)
 {
     levels[i][k] = new binaryValNode();
 }
//I tested cout here and it works fine
}
//but loses scope here(?)
//声明它
binaryValNode***级别;
级别=新的binaryValNode**[大小];
//向阵列中添加阵列:
对于(inti=0;iright=levels[i][k];
}
否则{
级别[i-1][k]->左=级别[i][k];
级别[i-1][k-1]->右=级别[i][k];
}
}
}
}
}
myReadFile.close();
库特价值;
cin.get();
返回0;
}

整理您的缩进-它将显示您也有一个缩进},因此问题行出现在main()结尾之后


尝试编辑/advanced/format selection

整理缩进-它将显示您也有一个缩进},因此问题行出现在main()结尾之后


尝试编辑/高级/格式选择

这需要移动到条件选择之前:

    binaryValNode*** levels;

这需要移动到条件之前:

    binaryValNode*** levels;
修复缩进(例如,在Vim中,
gg=G

现在你有

int main() {
    // ...
    if (myReadFile.is_open()) {
        // ...
        binaryValNode*** levels;
        // ...
    }
    // ...
    cout << levels[0][0]->left->value;
    // ...
}
intmain(){
// ...
如果(myReadFile.is_open()){
// ...
binaryValNode***级别;
// ...
}
// ...
不能左->值;
// ...
}
其中
级别
显然超出了范围。

修复缩进(例如,Vim中的
gg=G

现在你有

int main() {
    // ...
    if (myReadFile.is_open()) {
        // ...
        binaryValNode*** levels;
        // ...
    }
    // ...
    cout << levels[0][0]->left->value;
    // ...
}
intmain(){
// ...
如果(myReadFile.is_open()){
// ...
binaryValNode***级别;
// ...
}
// ...
不能左->值;
// ...
}
其中
级别
显然超出了范围