我是C ++的新手,我正在努力解决这个3D矢量的问题。问题的核心是以下代码。我创建了一个100 * 100 * 10的3D矢量,但在我的主函数中,程序似乎并不知道它存在,因为我在尝试运行它时遇到错误。 “错误:符号particleGrid未在当前范围中定义”。 2D矢量没有这个问题。我正在使用ROOT运行代码,如果这很重要的话。
using namespace std;
Int_t gridResolution=100;
vector<vector<vector<int>>> particleGrid(gridResolution,vector<vector<int>>(gridResolution,vector<int>(10)));
void main(){
particleGrid.clear();
}
非常感谢任何帮助或提示。
答案 0 :(得分:3)
似乎这是一个语法错误。
vector<vector<vector<int>>> particleGrid(gridResolution,vector<vector<int>>(gridResolution,vector<int>(10)));
您的编译器会将>>>
中的vector<vector<vector<int>>>
和>>
中的vector<vector<int>>
视为>>
运算符。
解决方案:将此行中的所有>
分开
vector<vector<vector<int> > > particleGrid(gridResolution,vector<vector<int> >(gridResolution,vector<int>(10)));