我必须创建一个函数,它可以接收一个已知大小的指针数组,并将所有指针设置为NULL.需要注意的是,我事先并不知道这种类型.这是我到目前为止所尝试的:
template <typename T>
static void Nullify(T** _Array, int _Size, unsigned int _SizeOf)
{
for (int i = 0; i < _Size; i++)
{
_Array[i * _SizeOf] = NULL;
}
}
Run Code Online (Sandbox Code Playgroud)
这给了我错误(不是函数本身,但是我在践踏内存,我不应该践踏导致后来的内存错误).我传入数组(_Array - 已初始化为_Size),其大小(_Size)和sizeof(指针*)作为_SizeOf.
任何帮助将不胜感激 :)
你不需要_SizeOf.这就是你想要的:
template <typename T>
static void Nullify(T** _Array, int _Size)
{
for (int i = 0; i < _Size; i++)
{
_Array[i] = NULL;
}
}
Run Code Online (Sandbox Code Playgroud)
编译器知道指针的大小,并在数组解除引用期间为您做数学计算.
| 归档时间: |
|
| 查看次数: |
359 次 |
| 最近记录: |