我是 C 的新手(就像 2 天前开始的那样),由于语法问题,我遇到了编译问题,但我从 gcc 收到的错误消息对我没有多大帮助。我编译如下:gcc -ansi -Wall -pedantic line.c
整件事是我 101 课的一个简单的介绍性练习。这些值只是相互测试,以确保它们在 line_test.c 文件中正确分配。但在我解决那个人的编译问题之前,我需要解决这个文件。
这是我的代码:
#include "line.h"
struct line2d create_line2d (double x1, double y1, double x2, double y2) {
struct line2d line;
line.x1=1;
line.y1=2;
line.x2=3;
line.y2=4;
return line;
}
和 line.h 代码:
#ifndef line
#define line
struct line2d {
double x1;
double y1;
double x2;
double y2;
};
struct line2d create_line2d(double x1, double y1, double x2, double y2);
#endif
这是它抛出的错误
line.c: In function ‘create_line2d’:
line.c:5: error: expected expression before ‘.’ token
line.c:6: error: expected expression before ‘.’ token
line.c:7: error: expected expression before ‘.’ token
line.c:8: error: expected expression before ‘.’ token
line.c:9: warning: ‘return’ with no value, in function returning non-void