【发布时间】:2019-10-06 06:10:57
【问题描述】:
我正在尝试编写一个程序,它首先检查名称是否在向量中,如果没有,则将其添加到向量中。我的代码似乎难以解析,至少这是我从中得到的。我尝试将字符串更改为 char,但对我没有多大帮助。
#include <iostream>
#include <vector>
#include <string>
bool isinVector(std::string uElement, std::vector<std::string> uArray)
{
for (unsigned int i = 0; i <= sizeof(uArray); i++) {
if (uArray[i] == uElement) {
return true;
}
else {
return false;
}
}
}
int main()
{
bool trigger = false;
while (!trigger) {
std::vector<std::string> names;
names.push_back("Bart");
std::string newName;
getline(std::cin, newName);
if (isinVector(newName, names))
{
std::cout << "true" << std::endl;
trigger = true;
}
else
{
std::cout << "false" << std::endl;
names.push_back(newName);
for (int i = 0; i <= sizeof(names); i++) {
std::cout << names[i] << std::endl;
}
}
}
}
【问题讨论】:
-
请明确您需要帮助的具体内容。这现在很模糊。
-
请使标题与您遇到的问题相关,而不仅仅是“请帮助我”。你的代码的哪一部分出错了?请缩小范围。
-
sizeof(uArray)没有给你uArray的大小。请改用uArray.size()。 -
sizeof并不代表您认为的意思,您也没有看到它在任何示例中与向量一起使用。