GCC 错误"expected ')' before '[' token"
gcc error "expected ')' before '[' token"
我在尝试用GCC编译程序时收到了这些错误,我不确定是什么原因造成的。
functions.h:21: error: expected ')' before '[' token
functions.h:22: error: expected ')' before '[' token
functions.h:23: error: expected ')' before '[' token
functions.h:25: error: expected ')' before '[' token
functions.h:26: error: expected ')' before '[' token
functions.h:27: error: expected ')' before '[' token
我的程序在visualstudio2012中编译良好。
这是导致错误的头文件。
struct subject
{
char year[5];
char session;
char code[8];
char credit[3];
char mark[4];
};
struct data
{
char name[30];
char id[30];
char cc[30];
char course[80];
struct subject subjects[30];
int gpa;
};
void displayRecord(data [], int);
int nameSearch(data [], char [], int [], int);
void editRecord(data [], int, int);
char getChar(const char [], int);
int getData(data []);
void displayData(data []);
void deleteRecord(data [], int, int);
我调用的编译器是这样的:
gcc-o测试函数.cpp函数.h main.cpp
我被难住了,所以任何帮助都将不胜感激!
我的心理调试能力告诉我,您的visual studio将代码编译为C++,而gcc将其编译为C。由于函数参数中data
之前缺少struct
关键字,C编译器不知道该怎么办。尝试通过g++而不是gcc运行它(并可能确保包含的源文件的扩展名是.C
或.cpp
。
问题是您正在将functions.h
传递给编译器。这是一个包含文件,您应该让两个.cpp文件包含它。不需要在编译器的命令行调用中传递它。只需从gcc的命令行调用中删除functions.h
即可。
由于这是C++,所以应该使用g++而不是gcc进行编译。由于使用了gcc
,编译器将functions.h
视为C,并且代码不是有效的C。
所以,我认为你的汇编应该是
g++-o测试功能.cpp main.cpp
相关文章:
- Arduino无法编译名为SP:"Expected ')' before '(' token"的变量
- 为什么我的功能在使用 goto 时会给我带来"expected primary-expression before '}' token"?
- 使用结构和数组时的"expected primary expression before '.' token"
- 如何解决"Expected expression before " = " token"?
- 错误:创建模板类时"expected unqualified-id before '{' token"
- 如何解决"expected constructor, destructor, or type conversion before ‘(’ token"错误?
- 这个编译器错误是什么意思 - "qualified-id in declaration before ‘=’ token" C++?
- 获取链表上的"expected ‘)’ before ‘&’ token"到 BST 构造函数签名
- 使用宏访问指向数据成员的指针会导致"error: expected unqualified-id before ‘*’ token"
- "error: expected primary-expression before '<=' token" 我做错了什么?
- 内存集调用位置的"error: expected constructor, destructor, or type conversion before '(' token"
- 设置if流,获取'error: expected initializer before ‘.’ token'
- 在2D伊辛模型上工作。C++新手。我在第 23 行收到错误"expected unqualified-id before '{' token"
- 我的代码看起来不错。为什么我要得到"error: expected primary-expression before ')' token"?
- 如何修复"Expected Primary-expression before ')' token"错误?
- C++错误"tabulate.cc:19: error: expected primary-expression before ',' token"
- 使用多个文件时"array bound is not an integer constant before ']' token"
- "expected initializer before '<' token"尝试模板成员专用化
- 为什么海湾合作委员会说"a function-definition is not allowed here before '{' token"?
- C++:"error: expected ',' or '...' before '(' token"