次のような「Vertex.hpp」というクラスがあります。
#include <iostream>
#include "Edge.hpp"
#include <vector>
using namespace std;
/** A class, instances of which are nodes in an HCTree.
*/
class Vertex {
public:
Vertex(char * str){
*name=*str;
}
vector<Vertex*> adjecency_list;
vector<Edge*> edge_weights;
char *name;
};
#endif
次のように、Vector 型のオブジェクトをインスタンス化すると、次のようになります。
Vertex *first_read;
Vertex *second_read;
in.getline(input,256);
str=strtok(input," ");
first_read->name=str;
str=strtok(NULL, " ");
second_read->name=str;
Vector 型のオブジェクトが複数インスタンス化されると、セグメンテーション違反が発生します。複数のオブジェクトがインスタンス化されている場合、これが発生するのはなぜですか? また、複数のオブジェクトをインスタンス化できるようにするにはどうすればよいですか?