警告:函数声明中的参数名称(无类型)[默认启用]

Fla*_*ius 4 c gcc function-pointers

此typedef可以工作:

typedef void (*mem_deallocator)(void*);
Run Code Online (Sandbox Code Playgroud)

但是这个

typedef void* (*mem_allocator)(size_t);
Run Code Online (Sandbox Code Playgroud)

给出警告:

警告:函数声明中的参数名称(无类型)[默认启用]

我正在使用GCC 4.8.1,并且正在使用进行编译-c -Wall

如何修复代码,这样我就不会再收到警告了?

Yu *_*Hao 5

size_t 在以下标头中定义,您需要至少包含其中之一。

#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <wchar.h>   //since C99
#include <uchar.h>   //since C11
Run Code Online (Sandbox Code Playgroud)

  • @Flavius:g ++会给您真正的错误:“未在此范围内声明'size_t'” (2认同)