我在编写本书第5.11节中介绍的示例程序时遇到了问题.我删除了大部分代码,只留下了相关内容.
#define MAXLINES 5000
char *lineptr[MAXLINES];
void qsort1(void *lineptr[], int left, int right, int (*comp)(void *, void *));
int numcmp(char *, char *);
main(int argc, char *argv[]) {
int numeric = 1;
/* ... */
qsort1((void**) lineptr, 0, 100, (int (*)(void*, void*))(numeric ? numcmp : strcmp));
}
void qsort1(void *v[], int left, int right, int (*comp)(void *, void *)) {
/* ... */
}
int numcmp(char *s1, char *s2) {
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
问题是代码无法编译(我正在使用Digital Mars编译器).我得到的错误是这样的:
qsort1((void**) lineptr, 0, nlines …Run Code Online (Sandbox Code Playgroud) c ×1