如何正确初始化标准::设置<标准::字符串>?
How to initializing std::set<std::string> correctly?
请帮助我,在过去的两三个小时里,我一直在尝试这样做,但没有运气。 我有许多字符串以表单输入形式出现.txt格式为
string1 string2
string3 string4
etc.
我想放入最初为空的 std::set 中。我想在字符串进入时对它们进行编号并将它们放入集合中以跟踪重复项,这样我就不会再次对它们进行编号。我正在尝试初始化std::set<std::string> inGraph
但无法使其工作。我尝试初始化std::set<std::string> inGraph(0, tot_lines);
其中 0 到 tot_lines 是我希望从输入中获得的总字符串数的范围。我试图用空的马镫初始化所有内容,例如:std::set<std::string> inGraph(tot_lines, "");
,但失败了。这是我现在拥有的:
struct StringInt {
std::string name; // associate name and number for each input string
int number;
};
int main(int argc, char* argv[]) {
int tot_lines = 100;
int icv1, icv2;
std::string vert1, vert2;
std::set<std::string> inGraph(); // this is the set I want to initialize
std::set<std::string>::iterator sit;
std::vector<StringInt> stringInts(tot_lines*2);
StringInt* si;
std::ifstream myfile2 ("input.txt");
if (myfile2.is_open()) {
while(myfile2 >> vert1 >> vert2) {
// read in input, put it in vars below
myfile2 >> vert1 >> vert2;
if (inGraph.find(vert1) != inGraph.end()) {
icv1 = i++;
si->name = vert1;
si->number = icv1;
inGraph.insert(vert1);
stringInts.push_back(*si);
}
else {
icv1 = si->number;
}
if (inGraph.find(vert2) != inGraph.end()) {
icv2 = i++;
si->name = vert1;
si->number = icv2;
inGraph.insert(vert2);
stringInts.push_back(*si);
}
else {
icv2 = si->number;
}
}
我得到的错误是:left of '.find' must have class/struct/union
你能帮我弄清楚如何初始化std::set<std::string> inGraph
以便我可以对字符串进行编号吗?
错误消息是因为您是最烦恼解析的受害者。
std::set<std::string> inGraph();
它是一个函数声明,其返回类型为 std::set<std::string>
。只需在inGraph
后删除()
即可使其成为对象声明。
相关文章:
- 如何在 C++11 中将标准::字符串转换为标准::u32字符串?
- 如何初始化一个标准::字符串数组?
- 在命名管道中发送标准::字符串流
- 标准::字符串与空字符可能吗?
- 如何从标准::string_view正确创建标准::字符串?
- 从常量字符*、字符*参数到标准::字符串的直接转换接口
- 热将标准::__cxx11::字符串转换为标准::字符串
- 如何将字符*浅复制到标准::字符串?
- 十进制到八进制递归C++.以标准::字符串格式输出
- 如何通过标准字符串打印 ostream 变量的值?
- 如何使用 RPM 从内存中读取标准::字符串
- 我需要初始化标准::字符串吗?
- 标准地图如何知道使用标准字符串的数据作为键
- C++ - 从标准::字符串解析数字
- 如何调整标准::字符串的大小以删除所有空终止符字符?
- URL 编码扩展的 ASCII 标准::字符串在 C++.
- 将字符串::迭代器转换为标准::字符串
- 如何将标准::字符串内容克隆到新的 char[] 数组
- 如何将标准::字符串拆分为标准::string_views的范围 (v3)
- 标准::字符串中的内存泄漏