未定义对函数文件的引用错误C(编译)
这是我的函数文件未定义对函数文件的引用错误C(编译),c,C,这是我的函数文件 % gcc -std=c89 -o main main.c /tmp/cccuTfCk.o: In function `main': main_c11e5.c:(.text+0x3c): undefined reference to `swap' collect2: error: ld returned 1 exit status 我只是不知道为什么我总是犯这样的错误 我想我已经完成了相互指点 编译是奇怪还是我的代码不清楚 谢谢。有多个错误 1您需要在定义了swap函数的第二
% gcc -std=c89 -o main main.c
/tmp/cccuTfCk.o: In function `main':
main_c11e5.c:(.text+0x3c): undefined reference to `swap'
collect2: error: ld returned 1 exit status
我只是不知道为什么我总是犯这样的错误
我想我已经完成了相互指点
编译是奇怪还是我的代码不清楚
谢谢。有多个错误 1您需要在定义了swap函数的第二个文件中包含swap.h
// swap.h
void swap(int *p, int *q);
2您只编译main.c文件,但交换函数在另一个文件中定义。这就是为什么您得到的是对swap函数的未定义引用。您需要编译第二个文件的gcc-std=c89-o main.c name_这两个文件
3您宣布掉期无效。这意味着您不应该从函数返回任何值,并且在将i和j的地址传递给swap函数时也不需要返回任何值。存在多个错误
// swap.h
void swap(int *p, int *q);
1您需要在定义了swap函数的第二个文件中包含swap.h
// swap.h
void swap(int *p, int *q);
2您只编译main.c文件,但交换函数在另一个文件中定义。这就是为什么您得到的是对swap函数的未定义引用。您需要编译第二个文件的gcc-std=c89-o main.c name_这两个文件
3您宣布掉期无效。这意味着您不应该从函数返回任何值,并且在将i和j的地址传递给swap函数时也不需要返回
// swap.h
void swap(int *p, int *q);
您不能返回任何内容,因为您声明为void返回函数
您不能返回任何内容,因为您声明为void return函数我想您忘记编译swap.cTurn上的警告:swap不能返回值并返回p,q;将只返回q。什么是返回p,q;该怎么办?在空函数中,也不小于-std=c89。。。明确选择29年前过时的标准修订版可能重复。我认为您忘记编译swap.cTurn警告:swap不能返回值并返回p,q;将只返回q。什么是返回p,q;该怎么办?在空函数中,也不小于-std=c89。。。明确选择有29年历史的过时标准修订版,可能重复。