【发布时间】:2021-07-24 07:55:46
【问题描述】:
我正在尝试从字符串向量 (query_list) 打印单词列表,但我无法让它工作。我知道当前代码打印地址。
vector<string>* query_list_ptr;
query_list_ptr = &query_list;
for (i = 0; i < num_words; i++) {
cout << query_list_ptr << " ";
query_list_ptr++;
}
我尝试了以下方法:
- 当我尝试使用“*query_list_ptr”在“cout
- 当我尝试“vector
* query_list_ptr”到“vector query_list_ptr”的变体时,我也遇到了错误。 - 另一个错误是“query_list_ptr = query_list”,这就是我最终将 & 符号添加到“query_list_ptr = &query_list;”的原因。
感谢所有帮助。我可以不用指针,但这是针对我的 CS 类的指针。
【问题讨论】:
-
为什么不简单地从向量中打印单词,例如
for(const auto& word : query_list) cout << word << ' ';? -
你有一个字符串集合,而不是向量集合。所以你需要一个指向字符串的指针,而不是指向向量的指针,来遍历那个集合(如果你坚持使用指针的话)。
-
query_list_ptr是一个指向向量的指针。*query_list_ptr是一个向量。 究竟你应该做的任务是什么?我强烈怀疑vector<string>*是否是它的答案。 -
@MikeCAT 我浏览了我的教科书,您的解决方案甚至与我所遵循的都不接近。我认为常量是在编译之前初始化和声明的。 (我感到很失落,但我会继续努力)谢谢你的帮助。
标签: c++ string pointers vector