0
我想在C++中進行如下內存分配。它是細做它喜歡:在C++中用void *分配內存結構內存分配
m_temppkt = new pktstruct();
和結構是:
struct pktstruct {
void *address;
int length;
struct pktstruct *next;
};
我想在C++中進行如下內存分配。它是細做它喜歡:在C++中用void *分配內存結構內存分配
m_temppkt = new pktstruct();
和結構是:
struct pktstruct {
void *address;
int length;
struct pktstruct *next;
};
它是好的做到這一點,但在m_temmkt->地址內存不會被分配(即你分配指針的空間,而不是指針指向的內存)。
最好的解決方法是初始化使用構造值:
struct pktstruct {
void *address;
int length;
struct pktstruct *next;
pktstruct(void* s, int l);
};
pktstruct::pktstruct(void* a, int l)
: address(a), length(l), next(NULL)
{
}
m_temppkt = new pktstruct(NULL, 0); // initializes with { NULL, 0, NULL }
是的,這是完全正常的。你到底在問什麼? –
假設'm_temppkt'的類型是'pktstruct *',是的。 – Nabla
你試過了嗎..?它工作..? – Sean