レモングラフライブラリのグラフ型変数にshared_ptrを割り当てるために、私はこれをしました:
typedef ListDigraph Graph;
typedef std::shared_ptr<Graph> Process_pointer;
Process_pointer process(new Graph);
正常に機能しましたが、マップ オブジェクトの shared_ptr を宣言する必要があります。通常、マップ オブジェクトは次のように機能します。
Graph process;
typedef ListDigraph::NodeMap<string> Node_names;
Node_names name(process);
つまり、 name には、デフォルト コンストラクターの Graph オブジェクトが必要です。
それに対してshared_ptrを宣言するために、私はこれをしました:
typedef ListDigraph::NodeMap<string> Node_names;
typedef std::shared_ptr<Node_names> Nname_pointer;
Nname_pointer name = new Node_names;
name(process);
名前の宣言が間違っていることはわかっていますが、プロセスオブジェクトで初期化するだけでなく、メモリを割り当てるにはどうすればよいですか。