この場合、ポインターを保持する必要はないと思います。データ メンバーに自動保存期間を指定します。それSymbolTable
を含むオブジェクトが構築されると構築され、SymbolTable
オブジェクトが破棄されると破棄されます。
言い換えればSymbolTable
、オブジェクトを完全にカプセル化して所有し、DynHashtable<string>
その存続期間を制御する排他的な責任を負います。
また、C++ では、std::string
文字列を表すために を使用する必要があります (<string>
その定義をインポートするには、標準ヘッダーを含める必要があります。
#include <string>
class SymbolTable {
private:
DynHashtable<std::string> hst;
public:
SymbolTable() {
// ...
}
};
アップデート:
コメントから、それDynHastable
はデフォルトで構築可能ではないようであり、そのコンストラクターはint
パラメーターとして an を受け入れます。この場合、コンストラクターの初期化リストでオブジェクトを構築する必要があります。
class SymbolTable {
private:
DynHashtable<std::string> hst;
public:
SymbolTable() : hst(42) {
// ^^^^^^^^^
// ...
}
};