gpt4 book ai didi

c - 将 C++ 代码转换为 C 的问题 - 指向数组的开头

转载 作者:太空宇宙 更新时间:2023-11-04 06:40:42 25 4
gpt4 key购买 nike

我需要针对特定​​平台用 C 编译一些最初用 C++ 编写的代码。我在下面的行中遇到问题,它试图将 p 设置为输出数据的开头,如下所示。

我收到编译器错误 error C2143: syntax error : missing ';'在“类型”之前

我需要如何更改它才能在 C 中编译?

size_t example_function(unsigned char** outputdata, size_t *output_length)
{
*outputdata = (unsigned char*)malloc(20);

unsigned char* p = *outputdata;

return 0;
}

最佳答案

我猜您正在使用 Visual C++ 编译器来编译它。此编译器仅支持 C90(也称为 C89),因此您需要在任何 block 中的任何其他语句之前放置声明。

size_t example_function(unsigned char** outputdata, size_t *output_length)
{
unsigned char* p;

*outputdata = malloc(20);

p = *outputdata;

return 0;
}

我假设您已经(直接或间接)包含了 <stdlib.h> size_t 的定义和 malloc否则你可能会遇到不同的错误。

关于c - 将 C++ 代码转换为 C 的问题 - 指向数组的开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8626028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com