gpt4 book ai didi

c++ - 使用 boost 图创建结构

转载 作者:行者123 更新时间:2023-11-28 08:16:41 27 4
gpt4 key购买 nike

我想使用我用图表创建的结构:

typedef struct type_INFOGRAPH
{
boost::adjacency_list < boost::listS, boost::vecS, boost::undirectedS, Node, Line > graphNetworkType;

map<int,graph_traits<graphNetworkType>::edge_descriptor> emymap;

map<int, graph_traits<graphNetworkType>::vertex_descriptor> vmymap;

}INFOGRAPH;

但是当我尝试用一​​个函数构造图形时:

INFOGRAPH *infograph = NULL;

infograph->graph = CreateGraphFromDataset3(file);

我得到这样的错误:

"Unhandled exception at 0x00ae4b14 graph.exe : 0xC0000005: Access violation reading location 0x00000018."

最佳答案

我怀疑这是否可以编译,因为您的 INFOGRAPH 类甚至一个名为 graph 的成员。

不过,更重要的是,您从未创建该类的实例——您只是创建了一个指针,将其设置为 NULL 并取消引用它。这自然是无效的,会让你崩溃。

您可以自动或动态创建一个实例,具体取决于您将如何使用它:

// Automatic:
INFOGRAPH infograph;
infograph.graph = CreateGraphFromDataset3(file);

// Dynamic:
INFOGRAPH * pinfograph = new INFOGRAPH;
pinfograph->graph = CreateGraphFromDataset3(file);
// ouch, who cleans up `*pinfograph` now?

关于c++ - 使用 boost 图创建结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7520059/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com