【发布时间】:2018-08-10 05:43:48
【问题描述】:
在一些代码中得到了这个序列。希望将函数调用中的 c 样式转换转换为 c++ 样式转换。
char* messageBuffer{ nullptr };
const unsigned long size{ FORMAT_MESSAGE(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
0,
errorMessageID,
MAKELANGID(LANG_NEUTRAL | SUBLANG_DEFAULT),
(char*)&messageBuffer, // this the one want to change
0,
0
)};
谢谢
编辑:为清楚起见添加了 winapi 标签
【问题讨论】:
-
为什么需要投射?
-
策略 - 没有 c 样式转换如果你的意思是为什么需要 (char*)&message 缓冲区?
-
我没有问你为什么要改变 c cast,我是问你为什么需要 cast?
-
@user3891642 既然你是新手,我要警告你,这个问题可能不会得到很好的接受。另外,tour 和 How to Ask。
-
您真的打算创建一个
char*,然后获取其地址(char**)并假装那个是char*吗?坦率地说,这闻起来像个虫子。