尝试使用构造函数创建对象时发生错误

时间:2019-04-03 21:38:07

标签: c++

我是C ++中面向对象编程的新手,并且一直在尝试为图形问题创建对象。我用谷歌搜索错误发生的情况,但无济于事-主要是关于常量函数的结果。我的代码在下面,我已将错误写为内嵌注释,并在其中显示

#include <iostream> #include <list> #include <vector> class Graph { //'Graph' cannot be defined in the result type of a function public: Graph(int n); private: std::vector<std::list<int> > Connections; } Graph::Graph(int n) { //constructor cannot have a return type for(int i = 0; i < n+1; i++){ x=1 //placeholder, intended to fill vectors with linked lists } } Graph g = new Graph(10);

我不太确定为什么会出现这些问题,并且非常感谢您的帮助。预先感谢。

1 个答案:

答案 0 :(得分:0)


#include <iostream>
#include <list>
#include <vector>

class Graph {                  
    public:
        Graph(int n);
    private:
        std::vector<std::list<int> > Connections;
};

Graph::Graph(int n) {     
    for(int i = 0; i < n+1; i++){
         int x=1; 
    };
};

int main(){
   Graph *g = new Graph(10);
};

如果太混乱,请使用头文件。

另外,在分配新对象时,还需要使用指针,因为要动态分配new。

在@Steve评论中您还缺少分号