Vì vậy, tôi đang gặp sự cố mà tôi chắc chắn có một giải pháp cực kỳ rõ ràng, nhưng tôi dường như không thể hiểu được. Về cơ bản, khi tôi cố gắng thực hiện các định nghĩa lớp trong các phần đầu và thực hiện trong các tệp nguồn của mình, tôi nhận được một lỗi nói rằng tôi đang định nghĩa lại các lớp của mình. Sử dụng Visual C++ 2010 Express.Lỗi "Định nghĩa loại lớp" lỗi giữa tiêu đề và các tệp nguồn
lỗi chính xác: "error C2011: 'Node': 'lớp' kiểu định nghĩa lại"
Ví dụ mã bao gồm dưới đây:
Node.h:
#ifndef NODE_H
#define NODE_H
#include <string>
class Node{
public:
Node();
Node* getLC();
Node* getRC();
private:
Node* leftChild;
Node* rightChild;
};
#endif
Node.cpp:
#include "Node.h"
#include <string>
using namespace std;
class Node{
Node::Node(){
leftChild = NULL;
rightChild = NULL;
}
Node* Node::getLC(){
return leftChild;
}
Node* Node::getRC(){
return rightChild;
}
}
Tôi gặp vấn đề tương tự như người đã đặt câu hỏi. Tuy nhiên, tôi đặt các biến của tôi ở đâu (trong lớp học riêng tư)? –