我有一个方法,其中一个参数需要const void*输入.
当我这样做,它的工作原理 -
const void *a = "abc"; \\abc is also a string though.
Run Code Online (Sandbox Code Playgroud)
我已经尝试将一个字符串变量赋值给const void*变量,但它给出了一些错误.为什么我不能直接将字符串变量赋值给const void*变量?
如何将字符串转换为const void*?
还有其他方法吗?
谢谢,
如果用"string"表示std::string,那么这是一个类类型,它不能直接转换为指针.字符串文字就像"abc"是一个字符数组,可以转换为指针.
如果你想要一个指向字符串字符数组的指针,那么你可以通过c_str函数访问它:
const void * a = my_string.c_str();
Run Code Online (Sandbox Code Playgroud)
请注意,如果销毁或修改字符串,指针可能会变为无效.