void ** 函数参数中的指针 c++
void ** pointer in function argument c++
在这种情况下,如何从 void ** 函数参数中输出 wchar_t * 的变量?
我想通过void**在ChangeMe变量中插入t的值,如何实现?
void foo(void **v){ wchar_t *t = L"String is changed!"; *(wchar_t*)v = *t; }
wchar_t *ChangeMe = L"";
已经尝试(不工作):
foo((void**)ChangeMe );
你可能想写
*((wchar_t**)v) = t;
请注意 t
的值在 return 之后超出范围。这在这种情况下可能有效,因为文字的地址具有静态存储持续时间。
此外,当将 ChangeMe
传递给您要实际指定其地址的函数时:
foo((void**)&ChangeMe);
// ^
不要为空指针烦恼;编写正确的 C++ 代码。
在这种情况下,如何从 void ** 函数参数中输出 wchar_t * 的变量?
我想通过void**在ChangeMe变量中插入t的值,如何实现?
void foo(void **v){ wchar_t *t = L"String is changed!"; *(wchar_t*)v = *t; }
wchar_t *ChangeMe = L"";
已经尝试(不工作):
foo((void**)ChangeMe );
你可能想写
*((wchar_t**)v) = t;
请注意 t
的值在 return 之后超出范围。这在这种情况下可能有效,因为文字的地址具有静态存储持续时间。
此外,当将 ChangeMe
传递给您要实际指定其地址的函数时:
foo((void**)&ChangeMe);
// ^
不要为空指针烦恼;编写正确的 C++ 代码。