0
我正在使用C++實現bptree。我被困在節點創建的第一步。繼續收到「C2011'節點':'class'type redefinition」錯誤。我在網上發現了一些建議,從cpp文件中刪除類關鍵字。但是當我刪除class關鍵字時,我得到很多其他錯誤。這裏是我的代碼爲Node.cpp:C2011'Node':'class'type redefinition
#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
我該如何解決這個問題?
感謝您的回覆,但是當我刪除類節點時,我得到了一堆錯誤。刪除類節點它不知道任何節點的參數,如價值,孩子和ect – user1836957
我更新了我的答案,以更好地解釋它。 – szym
謝謝,現在我做到了這一點,我在Node.h文件中出現錯誤:C2143 \t語法錯誤:缺少';'之前'<'\t C4430 \t缺少類型說明符 - 假定爲int。注意:C++不支持在';'之前的意外令牌(s)的default-int \t C2238 \t即使我已經包含#include