Привет, я знаю, что это кажется очень глупым вопросом, и, честно говоря, я заблудился в том, что является причиной ошибки объекта, и мог бы действительно использовать некоторую помощь.
У меня есть 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_
Все правильно определено в соответствующем файле cpp для него.Теперь я пытаюсь вызвать его в отдельном файле, который включает оба в качестве заголовка.
#include "priorityqueue.cpp"
#include "priorityqueue.h"
Но в моей функции main()
, когда я пытаюсь вызвать класс для объекта, подобного
PriorityQueue m;
Я получаю сообщение об ошибке
no matching function for call to ‘PriorityQueue::PriorityQueue()’
PriorityQueue m;
Я знаю, что это действительно простой вопрос C ++, но я понятия не имею, что я делаю неправильно.Любая помощь будет принята с благодарностью.