在循环中重用以前定义的数据类型
Reusing previously defined data types inside loop
我正在尝试执行以下操作:
向用户询问名称,然后向用户询问值(将用于构建向量集合),然后打印出值的各种组合,然后重新进行。
我的问题是,在第一个循环之后,在再次询问名称之后,我得到了一条"分段错误(核心转储)"错误消息。我假设这与第一个循环中构建/定义的向量有关。所以,我想知道是否有任何方法可以在每次循环后清除这些对象。也就是说,我想要的是:
Do {
ask user for name
ask user for values
create vectors from these values
print off certain elements of the vectors
reset/delete name, values, vectors so that I can run the loop again as if it's the first time
} while(condition);
如果你能给我指出任何有用的参考资料,那就太好了。提前谢谢。
您可以在循环外创建向量,并在循环内清除它们。它可能看起来像以下内容:
vector<string> info;
do {
// get input and do whatever
info.clear();
} while (condition);
一些文档http://www.cplusplus.com/reference/vector/vector/clear/
更新:
我最初的答案是专门告诉你如何清除矢量,但似乎有更好的解决方案。根据您的描述,似乎没有必要将声明移动到循环之外并在末尾清除向量。如果没有额外的代码,我们就无法知道是什么导致了seg故障,以及应该如何正确处理这个问题。
相关文章:
- 错误 - 自定义数据类型作为有效负载,带有提升::几何
- C++哈希表 - 如何解决自定义数据类型作为键的unordered_map冲突?
- 从自定义数据类型向量中删除重复元素
- C++:自定义数据类型向量错误的队列
- 交换未定义数据类型中的字节顺序
- 在 C++ 中设置的用户定义数据类型
- C++ - 按自定义数据类型向量的值删除元素
- 使用算法标头查找自定义数据类型的minmax
- 如何将自定义数据类型(用std::对填充的std::数组)写入文件流
- 从自定义数据类型向量数组C 删除
- 模板函数实例化 自定义数据类型的问题
- 我可以让我自己的自定义数据类型比C++中的数据类型大吗
- 使用QStandardItem传输自定义数据(类型*)时内存泄漏
- C++中的"auto"是否可以识别自定义数据类型?
- 从自定义数据类型列表中删除时出现 C2678 错误
- 用于查询自定义数据类型列表的SQLite虚拟表
- 使用Rocksdb存储自定义数据类型
- 如何从套接字读取接收自定义数据类型
- 如何使用libpq. q插入这个自定义数据类型?
- 如何在c++中设置智能感知来显示自定义数据类型