使用eclipse时发生编译错误

使用eclipse时发生编译错误,c,compiler-errors,C,Compiler Errors,在以下头文件中,我声明了一些函数: #ifndef _MY_INT_FUNCTIONS_H_ #define _MY_INT_FUNCTIONS_H_ int intFcn (const void *key, size_t table_size); void intPrint (const void *key); int intCompare (const void *key1, const void *key2); #endif //

在以下头文件中,我声明了一些函数:

    #ifndef _MY_INT_FUNCTIONS_H_
    #define _MY_INT_FUNCTIONS_H_



    int intFcn (const void *key, size_t table_size);
    void intPrint (const void *key);
    int intCompare (const void *key1, const void *key2);


    #endif // _MY_INT_FUNCTIONS_H_
但我得到一个编译错误,它说:

“应在'size_t'之前使用声明说明符或'…'”

关于int-intFcn函数

我使用的是EclipseIndigo版本


< C++ > <代码> > siZeIt < /C> >在<代码> STD< /COD>命名空间中的<代码> <代码>标题中声明。

#include <cstddef>

int intFcn (const void *key, std::size_t table_size);
#包括
int intFcn(常量无效*键,标准::大小表大小);
在C++中(也在C++中),在<代码> <代码>中声明:

#包括
int intFcn(常量无效*键,大小\u t表大小);

< C++ >代码> > <>代码>在代码< > STD< /Calp>命名空间> < /P>中的代码< > /Cult>标头中声明
#include <cstddef>

int intFcn (const void *key, std::size_t table_size);
#包括
int intFcn(常量无效*键,标准::大小表大小);
在C++中(也在C++中),在<代码> <代码>中声明:

#包括
int intFcn(常量无效*键,大小\u t表大小);

对于
尺寸
,您需要:

#include <stddef.h>   // in C
#包含//在C中
或:

<代码>包含/ /在C++中
对于
尺寸
,您需要:

#include <stddef.h>   // in C
#包含//在C中
或:

<代码>包含/ /在C++中
我认为您应该包括stdlib.hano大多数C编译器发出的可怕和不适当的错误消息的另一个例子。为什么编译器不直接说“Unrecognized type”呢?@Blagovest-Buyukliev:因为解析器的工作方式。解析器期望某些东西,但看到其他东西,因此它会给出一个错误,确切地说明这一点。更好的错误消息通常意味着更复杂的解析器。由于C++解析器已经相当复杂(由于C++语法的性质),这是一项艰巨的任务。我同意有更好的错误消息会很有趣,但这很难实现。我认为您应该包括stdlib.hano大多数C编译器都会出现的可怕和不恰当的错误消息的另一个例子。为什么编译器不直接说“Unrecognized type”呢?@Blagovest-Buyukliev:因为解析器的工作方式。解析器期望某些东西,但看到其他东西,因此它会给出一个错误,确切地说明这一点。更好的错误消息通常意味着更复杂的解析器。由于C++解析器已经相当复杂(由于C++语法的性质),这是一项艰巨的任务。我同意有更好的错误消息会很有趣,但这很难实现。