この場合、ポインターを保持する必要はないと思います。データ メンバーに自動保存期間を指定します。それ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) {
// ^^^^^^^^^
// ...
}
};