0
TYPE *a = calloc(nelem, sizeof(TYPE));

它说“无法解析标识符类型”。这是什么意思?

这是教授给我们的代码。我们需要实现堆排序(在 Java 中实现,我知道它是如何工作的,但我是 C 处女。)

4

3 回答 3

4

使用以下代码编译时:

gcc -std=c99 -DRAND -DPRNT -DTYPE={float, double} -D{BUBB, HEAP, INSR, MERG} *.c

您必须选择floatdouble

gcc -std=c99 -DRAND -DPRNT -DTYPE=float -D{BUBB, HEAP, INSR, MERG} *.c
gcc -std=c99 -DRAND -DPRNT -DTYPE=double -D{BUBB, HEAP, INSR, MERG} *.c

对于BUBB, HEAP, INSR,也是如此MERG

于 2012-06-15T02:00:04.030 回答
2

将以下定义添加到文件的开头:

#define TYPE int

或者

#define TYPE float

注意TYPE替换应该是数字类型

于 2012-06-15T02:03:17.077 回答
0

编译器无法解析 TYPE,它必须是 typedef ...您必须在定义它的位置包含头文件,否则在使用前定义它。例如 typedef int TYPE;

于 2012-06-15T05:48:50.367 回答