鱼C论坛

 找回密码
 立即注册
查看: 950|回复: 0

求助,关于图的结构,应该怎么改,出现错误

[复制链接]
发表于 2022-1-28 16:41:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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 个 ==========

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 15:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表