私は以下のように2つの異なるクラスを持っています:
class text
{ };
class element
{ };
そして、それらをに保存したいclass node
:
template <typename T>
class node
{
T cargo;
std::vector<void*> children;
node(T cargo) : cargo(cargo)
{ };
void add_child(T node)
{
this->children.push_back((void*) node);
}
}
したがって、このようにノードを呼び出して、text
とelement
の両方を格納します。
element div;
text msg;
node<element> wrapper(div);
wrapper.add_child(msg);
編集:私が使用するコンテンツを取得し、T typedef type;
void ポインターを に変換します(type*)
。
それはあまりエレガントでも機能的でもないことは知っていますが、それを行う正しい方法がわかりません。それで、これが実際に受け入れられるかどうか、そしてそうでない場合は、適切な方法でそれを行う方法を教えてください.
前もって感謝します!