C++错误:"int"之前的预期主表达式
C++ error: expected primary-expression before 'int'
我正试图根据文件中的输入创建一个符号表。
到目前为止,我已经有了逐行读取文件、分离令牌并打印出令牌及其类型的代码。
现在,我必须找到一种方法来将这些值(标记和类型)存储到符号表中。
我对C++一点也不熟悉。我最初试图制作一个多维数组,但这是一个失败,因为我不知道一个文件将有多少行或标记,而且我无法动态设置数组的大小。现在,我决定使用向量中的一个向量。这就是我的代码行:
vector< vector<int> > vec(4, vector<int>(4)) myVector;
我不知道为什么它不起作用。我完全是从cplusplus.com上的答案中复制的。我也尝试过
std::vector<std::vector<int> > row;
取自另一个SO问题。我已经花了几个小时寻找创建这个表的最佳方法,但遇到了一些问题。
我一直得到的错误(如问题中所述)是
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;",请将其删除,并忘记您曾经看到过类似的内容。
相关文章:
- 在 C++ 中使用正则表达式错误时出现问题 括号表达式中的范围无效
- C++ 标记之前预期主表达式'('错误
- 正则表达式中带有卷轴大括号的正则表达式错误
- C++初学者错误:主要表达式错误
- 代数树表达式C++错误:未解析的外部符号"Public:_thiscall AlgebraicTreeExpression::~AlgebraicTreeExpression(void) ..."
- 使用多线程处理对象数组 - 无效使用 void 表达式错误
- 为什么 if constexpr 不会使这个核心常量表达式错误消失?
- 提升正则表达式错误:未初始化的提升::match_results
- C++比较表达式错误
- C++ "主表达式"错误
- C++ 正则表达式错误(未处理的异常)
- 'this'不能用于常量表达式错误 (C++)
- 代码块引发有关for_each的预期主表达式错误
- Boost Regex中的命名子表达式错误
- C++之前的主要表达式错误
- Ubuntu 上的正则表达式错误
- C++正则表达式错误
- 理解常量表达式错误
- 成员函数和预期的主表达式错误
- Xcode中应有表达式错误