小编use*_*347的帖子

类对象初始化

嗨,我知道这似乎是一个非常愚蠢的问题,说实话,我迷失了造成这个对象错误的原因,并且真的可以使用一些帮助.

我有这个class:

class PriorityQueue {
  public:
    PriorityQueue(std::size_t max_nodes);
    void insert(Key k);
    void insert(KeyValuePair kv);
    KeyValuePair min();
    KeyValuePair removeMin();
    bool isEmpty() const;
    size_t size() const;
    nlohmann::json JSON() const;

  private:
    void heapifyUp(size_t i);
    void heapifyDown(size_t i);
    void removeNode(size_t i);
    Key getKey(size_t i);

    std::vector<KeyValuePair>   nodes_;
    size_t                      max_size_;
    size_t                      size_;

    const static size_t         ROOT = 1;
};  // class PriorityQueue

#endif  // _PRIORITYQUEUE_H_
Run Code Online (Sandbox Code Playgroud)

一切都在相应的cpp文件中正确定义.现在我试图在一个包含两个标题的单独文件中调用它.

#include "priorityqueue.cpp"
#include "priorityqueue.h"
Run Code Online (Sandbox Code Playgroud)

但是在我的main()函数中,当我尝试将类调用为类似的对象时

PriorityQueue m;
Run Code Online (Sandbox Code Playgroud)

我收到了错误

no matching function for call to ‘PriorityQueue::PriorityQueue()’
PriorityQueue …
Run Code Online (Sandbox Code Playgroud)

c++ oop

2
推荐指数
1
解决办法
109
查看次数

标签 统计

c++ ×1

oop ×1