有人可以给我一些指导或指导我一个关于C ++ set
对象的好教程吗?
我有一段简单的代码:
#include <iostream>
using namespace std;
int main()
{
char set[8];
int set[9];
return 0;
}
但此代码中的set
明显不同于此引用中的set
? :
http://www.cplusplus.com/reference/set/set/set/
如果我尝试编译此代码,则会收到以下错误:
令我不安的是,在代码中定义set
时,set
定义的变量/标识符没有?或者这是默认构造函数或其他东西。为什么我会收到错误?你不能从set
创建两个对象吗?为什么?对不起,如果我的问题是新手,但我似乎没有找到任何这方面的例子...所以我不明白如何使用set
......
thnx任何帮助=)
答案 0 :(得分:7)
您将char的数组命名为“set”。 随后,您将int的数组命名为“set”。
你真正想做的事情如下:
std::set<char> my_chars;
std::set<int> my_ints;
“&lt;&gt;”当您实例化它时,尖括号将类型传递给std :: set类模板。
答案 1 :(得分:4)
在第
行char set[8];
您使用名称“设置”和类型 char[8]
定义变量。
在第
行int set[9];
您使用名称“设置”和类型 int[9]
定义另一个变量。 (这应该会导致编译器错误,因为您无法在同一范围内定义两个具有相同名称的东西)
链接引用涉及类型 std::set<T>
。您可以定义std::set<int>
类型的变量(在使用该集合之前必须用T替换某些东西)
使用语法
std::set<int> my_set;
答案 2 :(得分:1)
您已经使用类型set
和char
再次定义了相同的变量set
,但这次使用了类型int
。这导致了这个问题。
尝试声明以下内容:
set<char> setchar;
set<int> setint;
不要忘记#include <set>
。