C++ 如何将节点保存到数组中

C++ 如何将节点保存到数组中,c++,C++,我想使用一个数组来存储节点,然后当我需要使用部分数据时,我可以使用Get函数来提取数据(比如打印),但是当我运行它时,它会显示 分段故障(堆芯转储) 问题在哪里 ///node.h class Node{ public: Node(); Node(string type, string address); string GetType(); string GetAdd(); private: string m_type; string m_address; };

我想使用一个数组来存储节点,然后当我需要使用部分数据时,我可以使用Get函数来提取数据(比如打印),但是当我运行它时,它会显示

分段故障(堆芯转储)

问题在哪里

///node.h
class Node{
 public:
  Node();
  Node(string type, string address);
  string GetType();
  string GetAdd();

 private:
  string m_type;
  string m_address;
};

#endif
///main
int main(){
节点*arr;
int num_arr=0;
字符串类型=“n”;
字符串地址=“003”;
Node*newNode=新节点(类型、地址);
arr[num_arr]=*新节点;

cout在访问数组元素之前,必须先分配数组

/////main
int main(){
  Node* arr = new Node[10]; // allocate 10 elements
  int num_arr = 0;
  string type = "n";
  string address = "003";
  Node* newNode = new Node(type, address);
  arr[num_arr] = *newNode;
  cout << arr[0].GetType() << endl;
}
///main
int main(){
Node*arr=新节点[10];//分配10个元素
int num_arr=0;
字符串类型=“n”;
字符串地址=“003”;
Node*newNode=新节点(类型、地址);
arr[num_arr]=*新节点;
库特
/////main
int main(){
  Node* arr;
  int num_arr = 0;
  string type = "n";
  string address = "003";
  Node* newNode = new Node(type, address);
  arr[num_arr] = *newNode;
  cout << arr[0].GetType() << endl;
}

/////main
int main(){
  Node* arr = new Node[10]; // allocate 10 elements
  int num_arr = 0;
  string type = "n";
  string address = "003";
  Node* newNode = new Node(type, address);
  arr[num_arr] = *newNode;
  cout << arr[0].GetType() << endl;
}