C++ error: expected primary-expression before 'int'
C++ error: expected primary-expression before 'int'
我正在尝试根据文件的输入创建符号 table。
截至目前,我已经有了逐行读取文件、分隔标记并打印出标记及其类型的代码。
现在,我必须找到一种方法将这些值(令牌和类型)存储到一个符号中 table。
我不熟悉 C++ 完全不熟悉。我最初尝试制作一个多维数组,但这是一个失败,因为我不知道文件将包含多少行或标记,而且我无法动态设置数组的大小。现在,我决定使用向量的向量。这就是我的代码行:
vector< vector<int> > vec(4, vector<int>(4)) myVector;
我不知道为什么它不起作用。我从 cplusplus.com 上的答案中完全复制了它。我也试过
std::vector<std::vector<int> > row;
取自另一个 SO 问题。我花了好几个小时寻找创建此 table 的最佳方法,结果 运行 遇到了很多问题。
我不断收到的错误(如问题中所述)是
error: expected primary-expression before 'int'
我该如何解决这个问题?
您需要弄清楚您希望如何调用您的对象。
如果你想调用你的对象vec
,你应该这样写:
std::vector< std::vector<int> > vec(4, std::vector<int>(4));
如果你想调用你的对象myVector
,你应该这样写:
std::vector< std::vector<int> > myvector(4, std::vector<int>(4));
如果您的代码中出现了 "using namespace std;",remove it, and forget that you ever saw anything like that。
我正在尝试根据文件的输入创建符号 table。
截至目前,我已经有了逐行读取文件、分隔标记并打印出标记及其类型的代码。
现在,我必须找到一种方法将这些值(令牌和类型)存储到一个符号中 table。
我不熟悉 C++ 完全不熟悉。我最初尝试制作一个多维数组,但这是一个失败,因为我不知道文件将包含多少行或标记,而且我无法动态设置数组的大小。现在,我决定使用向量的向量。这就是我的代码行:
vector< vector<int> > vec(4, vector<int>(4)) myVector;
我不知道为什么它不起作用。我从 cplusplus.com 上的答案中完全复制了它。我也试过
std::vector<std::vector<int> > row;
取自另一个 SO 问题。我花了好几个小时寻找创建此 table 的最佳方法,结果 运行 遇到了很多问题。
我不断收到的错误(如问题中所述)是
error: expected primary-expression before 'int'
我该如何解决这个问题?
您需要弄清楚您希望如何调用您的对象。
如果你想调用你的对象vec
,你应该这样写:
std::vector< std::vector<int> > vec(4, std::vector<int>(4));
如果你想调用你的对象myVector
,你应该这样写:
std::vector< std::vector<int> > myvector(4, std::vector<int>(4));
如果您的代码中出现了 "using namespace std;",remove it, and forget that you ever saw anything like that。