相关疑难解决方法(0)

我是否施放了malloc的结果?

这个问题,有人建议意见,我应该不会投的结果malloc,即

int *sieve = malloc(sizeof(int) * length);
Run Code Online (Sandbox Code Playgroud)

而不是:

int *sieve = (int *) malloc(sizeof(int) * length);
Run Code Online (Sandbox Code Playgroud)

为什么会这样呢?

c malloc casting

2318
推荐指数
27
解决办法
22万
查看次数

如何在Visual Studio 2010中编译纯C文件或只知道C89?

我正在尝试在Visual Studio 2010中编译OpenHMD.我开始使用Win32库项目布局.我注意到stdafx.cpp已创建并删除了该文件以及生成的标头.现在我仍然得到像这样的编译错误(内联注释):

OHMD_APIENTRY int ohmd_ctx_probe(ohmd_context* ctx)
{
    memset(&ctx->list, 0, sizeof(ohmd_device_list));
    int i;  // <-- error C2143: syntax error : missing ';' before 'type'
    for(i = 0; i < ctx->num_drivers; i++){  // <-- error C2065: 'i' : undeclared identifier
        ctx->drivers[i]->get_device_list(ctx->drivers[i], &ctx->list);
    }

    return ctx->list.num_devices;
}
Run Code Online (Sandbox Code Playgroud)

我在哪里可以强制进行纯C编译或设置C语言级别C99?这似乎是C89问题?

注意:我已经改变了for循环

for(int i = 0;  ...
Run Code Online (Sandbox Code Playgroud)

int i;
for( i = 0; ...
Run Code Online (Sandbox Code Playgroud)

c visual-studio-2010

1
推荐指数
1
解决办法
213
查看次数

标签 统计

c ×2

casting ×1

malloc ×1

visual-studio-2010 ×1