Я реализую bptree с помощью C++. Я застрял на начальном этапе создания узла. Продолжайте получать «C2011« Узел »: ошибка переопределения типа« класс ». Я нашел несколько предложений в Интернете, чтобы удалить ключевое слово класса из файла cpp. Но когда я удаляю ключевое слово класса, я получаю много других ошибок. вот мой код node.cpp:C2011 'Node': переопределение типа 'class'
#include "Node.h"
#include <cstdio>
#include <iostream>
#include <string>
#include <map>
using namespace std;
class Node {
bool leaf;
Node** kids;
map<int, string> value;
int keyCount;//number of current keys in the node
//constructor;
Node::Node(int order) {
this->value = {};
this->kids = new Node *[order + 1];
this->leaf = true;
this->keyCount = 0;
for (int i = 0; i < (order + 1); i++) {
this->kids[i] = NULL;
}
}
};
и node.h файл выглядит следующим образом:
#pragma once
#ifndef NODE_HEADER
#define NODE_HEADER
class Node {
public:
Node(int order) {};
};
#endif
Как я могу это исправить?
спасибо за ответ, но когда я удаляю классный узел, я получаю кучу ошибок. После удаления класса Node он не знает ни одного из параметров узла, таких как значение, дети и ect – user1836957
Я обновил свой ответ, чтобы объяснить его лучше. – szym
Спасибо, теперь, когда я сделал это, я получил ошибки в файле Node.h, который говорит: C2143 \t синтаксическая ошибка: отсутствует ';' before '<' \t C4430 \t отсутствующий спецификатор типа - int. Примечание: C++ не поддерживает default-int \t C2238 \t неожиданный токен (ы), предшествующий ';' хотя я включил #include