|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 dcc_and_cx 于 2022-1-29 14:51 编辑
- #include<iostream>
- using namespace std;
- #include<unordered_map>
- #include<vector>
- #include<unordered_set>
- class edge;
- class Node
- {
- public:
- int value; //点的值
- int in; //入度
- int out; //出度
- vector<Node> *nexts; //邻接点集
- vector<edge> *edges; //邻接边集
- Node(int value)
- {
- this->value = value;
- this->in = 0;
- this->out = 0;
- this->nexts = new vector<Node>();
- this->edges = new vector<edge>();
- }
-
- Node()
- {
- }
- };
- class edge //边
- {
- public:
- int weight; //权重
- Node from; //起始点
- Node to; //终点
- edge(int w, Node f, Node t)
- {
- weight = w;
- from = f;
- to = t;
- }
- };
- class Graphy //图
- {
- public:
- unordered_map<int,Node> *nodes; //点集
- unordered_set<edge> *Edges; //边集
- Graphy()
- {
- nodes=new unordered_map<int,Node>();
- Edges = new unordered_set<edge>();
- }
- };
- int main()
- {
-
-
-
- }
复制代码
出现的问题:
图的转化.cpp
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\unordered_set(50,99): error C2280: “std::_Uhash_compare<_Kty,_Hasher,_Keyeq>::_Uhash_compare(const std::_Uhash_compare<_Kty,_Hasher,_Keyeq> &)”: 尝试引用已删除的函数
1> with
1> [
1> _Kty=edge,
1> _Hasher=std::hash<edge>,
1> _Keyeq=std::equal_to<edge>
1> ]
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xhash(168): message : 编译器已在此处生成“std::_Uhash_compare<_Kty,_Hasher,_Keyeq>::_Uhash_compare”
1> with
1> [
1> _Kty=edge,
1> _Hasher=std::hash<edge>,
1> _Keyeq=std::equal_to<edge>
1> ]
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xhash(168,1): message : “std::_Uhash_compare<_Kty,_Hasher,_Keyeq>::_Uhash_compare(const std::_Uhash_compare<_Kty,_Hasher,_Keyeq> &)”: 由于 数据成员 调用已删除或不可访问的函数“std::_Compressed_pair<_Hasher,std::_Compressed_pair<_Keyeq,float,true>,true>::_Compressed_pair(const std::_Compressed_pair<_Hasher,std::_Compressed_pair<_Keyeq,float,true>,true> &)”,因此已隐式删除函数
1> with
1> [
1> _Kty=edge,
1> _Hasher=std::hash<edge>,
1> _Keyeq=std::equal_to<edge>
1> ]
1> and
1> [
1> _Hasher=std::hash<edge>,
1> _Keyeq=std::equal_to<edge>
1> ]
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xmemory(1404,1): message : “std::_Compressed_pair<_Hasher,std::_Compressed_pair<_Keyeq,float,true>,true>::_Compressed_pair(const std::_Compressed_pair<_Hasher,std::_Compressed_pair<_Keyeq,float,true>,true> &)”: 由于 基类 调用已删除或不可访问的函数“std::hash<edge>::hash(const std::hash<edge> &)”,因此已隐式删除函数
1> with
1> [
1> _Hasher=std::hash<edge>,
1> _Keyeq=std::equal_to<edge>
1> ]
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\type_traits(2256,1): message : “std::hash<edge>::hash(const std::hash<edge> &)”: 由于 基类 调用已删除或不可访问的函数“std::_Conditionally_enabled_hash<_Kty,false>::_Conditionally_enabled_hash(const std::_Conditionally_enabled_hash<_Kty,false> &)”,因此已隐式删除函数
1> with
1> [
1> _Kty=edge
1> ]
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\type_traits(2241,5): message : “std::_Conditionally_enabled_hash<_Kty,false>::_Conditionally_enabled_hash(const std::_Conditionally_enabled_hash<_Kty,false> &)”: 已隐式删除函数
1> with
1> [
1> _Kty=edge
1> ]
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\unordered_set(50): message : 在编译 类 模板 成员函数“std::_Uset_traits<_Kty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>::_Uset_traits(const _Tr &) noexcept(false)”时
1> with
1> [
1> _Kty=edge,
1> _Hasher=std::hash<edge>,
1> _Keyeq=std::equal_to<edge>,
1> _Alloc=std::allocator<edge>,
1> _Tr=std::_Uhash_compare<edge,std::hash<edge>,std::equal_to<edge>>
1> ]
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xhash(368): message : 查看对正在编译的函数 模板 实例化“std::_Uset_traits<_Kty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>::_Uset_traits(const _Tr &) noexcept(false)”的引用
1> with
1> [
1> _Kty=edge,
1> _Hasher=std::hash<edge>,
1> _Keyeq=std::equal_to<edge>,
1> _Alloc=std::allocator<edge>,
1> _Tr=std::_Uhash_compare<edge,std::hash<edge>,std::equal_to<edge>>
1> ]
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xhash(327): message : 查看对正在编译的 类 模板 实例化“std::_Uset_traits<_Kty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>”的引用
1> with
1> [
1> _Kty=edge,
1> _Hasher=std::hash<edge>,
1> _Keyeq=std::equal_to<edge>,
1> _Alloc=std::allocator<edge>
1> ]
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\unordered_set(65): message : 查看对正在编译的 类 模板 实例化“std::_Hash<std::_Uset_traits<_Kty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>”的引用
1> with
1> [
1> _Kty=edge,
1> _Hasher=std::hash<edge>,
1> _Keyeq=std::equal_to<edge>,
1> _Alloc=std::allocator<edge>
1> ]
1>F:\图的转化\图的转化.cpp(53): message : 查看对正在编译的 类 模板 实例化“std::unordered_set<edge,std::hash<edge>,std::equal_to<edge>,std::allocator<edge>>”的引用
1>已完成生成项目“图的转化.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
|
|