如何在向量中推动_back
How to push_back in a vector?
我做了一个类,如下所示:
class Variable {
public:
string name;
double value;
};
用它来制作一个向量如下:
vector<Variable> var_table;
然后,我制作了一个函数iS_declaund以检查给定的字符串名称是否已经存在var_table,并使另一个函数定义了一个字符串的值,并在var_table中将一个新变量的名称和值置于var_table中的名称和值,如下所示:
bool is_declared(string var) {
for (int i = 0; i < var_table.size(); ++i)
if (var_table[i].name == var)
return true;
return false;
}
double define_name(string var, double val) {
if (is_declared(var))
cerr << var << "declared twice";
var_table.push_back(Variable{var, val});
return val;
}
在行中
var_table.push_back(Variable{var,val});
它显示以下错误:
238预期的主要表达
请帮助!
您无法使用C 编译器以下C 级别的C 编译器使用初始化器语法。您必须使用Variable(var,val)
使其可能工作,或使用较新的编译器编译代码。
小笔记 - 您是否考虑过使用set
执行此任务?
第一件事是您需要在变量类中提供构造函数才能将值实例化。
和接下来,在线中,
var_table.push_back(Variable{var,val});
您可以写作,
var_table.push_back(Variable(var,val));
相关文章:
- 写入向量<向量<bool>>
- 函数向量_指针有不同的原型,我可以构建一个吗
- std::向量与传递值的动态数组
- 将值指定给向量(2D)的向量中的某个位置
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 如何使用向量的template_back函数
- 尝试通过多个向量访问变量时,向量下标超出范围
- 如何通过派生类函数更改基类中的向量
- C++从另一个类访问公共静态向量的正确方法是什么
- 如何将ampl中的集合表示为c++中的向量
- 变量没有改变?通过向量的函数调用
- 迭代时从向量和内存中删除对象
- 我们可以使用Back() - 值索引在其上执行向量插入
- vector.back() 可以用来为向量的最后一个元素赋值吗?
- 修改向量后引用 vector.back() 的奇怪行为
- 在 C++ 中将元素添加到空向量:为什么 push.back 有效而 [] 无效
- Vector_push back未填充向量(c++)
- C++为空向量上的向量返回什么::back()
- 我如何修复这段代码,使它不会pop_back或back()如果向量/堆栈是空的
- 向量resize(), push.back(), reserve()方法