首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在这个例子中使用“一致性”?

如何在这个例子中使用“一致性”?
EN

Stack Overflow用户
提问于 2016-10-11 19:27:58
回答 1查看 319关注 0票数 1

我有一些实现图形算法的代码;特别是,有一些代码片段会导致问题:

代码语言:javascript
运行
复制
class Path{
private:
    const Graph* graph;

public:
    Path(Graph* graph_) : graph(graph_) {
        ...
    }

(它应该使用指向图的常量指针创建Path对象)

代码语言:javascript
运行
复制
class GradientDescent{
private:
    const Graph graph;
public:
    Path currentPath;
    GradientDescent(const Graph& graph_) : graph(graph_), currentPath(Path(&graph_)) {}

(它应该创建一个具有const Graph和nonPathGraph对象)

问题是,当我试图弄清楚如何使用consts时,我得到了以下错误:

代码语言:javascript
运行
复制
error: no matching constructor for initialization of 'Path'
    GradientDescent(const Graph& graph_) : graph(graph_), currentPath(Path(&graph_)) {}

longest_path.cpp:103:9: note: candidate constructor not viable: 1st argument ('const Graph *') would lose const qualifier
    Path(Graph* graph_) : graph(graph_) {
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-11 19:39:23

问题在于,Path的构造函数需要一个指向非const Graph的指针。

要解决这个问题,只需更改构造函数声明:

代码语言:javascript
运行
复制
Path(const Graph* graph_) : graph(graph_) {
    ...
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39985160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档