I am trying to implement key, value linked list so I declared:

```
template<class S, class T>
class node {
public:
    S key;
    T value;
}

```

Now I want to support this function:

```
StatusType Add(void *DS, int key, void* value)
{
    // key - the key of the node
    // value - pointer to the value of the node
}

```

I'm confused about which linked list to use, the key should be int but what should be the value?