Я не знаю, почему вы хотели бы сделать это, но я могу придумать несколько странных причин, поэтому:
reinterpret_cast<unsigned char**>(pBuffer)[0] = pBuffer;
Вы хотите, чтобы компилятор интерпретировал указатель как unsigned char**
и сохраните значение pBuffer
в слоте 0 индекса.
Вы сказали, что индексируете «связанный список» с несколькими pBuffers.В этом случае вам не следует использовать reinterpret_cast.Вместо:
struct node {
node* prev;
std::unique_ptr<node> next;
unsigned char buffer[1024];
node(node* prev_) : prev(prev_) {}
};
std::unique_ptr<node> list(new node(nullptr)); //tada