【发布时间】:2009-09-10 01:14:18
【问题描述】:
需要帮助在 C 中编译。在家中使用 GCC(Windows,3.4.5)时,代码编译良好(即使使用 -Wall)。使用 uni 的 GCC(4.3.3,debian)时,我不断收到以下消息 - “在 '*' 令牌之前是“预期的 ')'”。可能是什么问题? (不用说,在学校农场编译是必须的)。
确切的错误信息: MatrixMultiplactionMacro.h:5: 错误: '*' 标记之前的预期')'
#ifndef _MATRIXMULTIPLACTIONMACRO_H
#define _MATRIXMULTIPLACTIONMACRO_H
void pseudoMain(
member* (*__allocateMember)(),
void (*__freeMember)(member*),
char* (*__memberToString)(member*),
void (*__setToZero)(member*),
void (*__multiplyMembers)(member*, member*, member*),
void (*__addMembers)(member*, member*, member*),
void (*__writeToMember)(char*, member*),
void (*__duplicateMember)(member*, member*)
);
#endif
有问题的行,因此: 成员* (*__allocateMember)(),
我做错了什么?
【问题讨论】:
-
附带说明,在家里升级编译器可能会有所帮助。我相信 GCC 在 3.4 和 4.3 之间发生了一些重大变化。启用
-Wall -Wextra -Werror选项也可能有助于编译所有内容。如果您不介意这些警告,可以忽略-Werror,但至少看到它们确实有帮助。 -
他正在使用旧的编译器,因为直到最近,MinGW 和 Cygwin 都默认发布了 3.4。