我的.y文件中有一段代码,如下所示
void yyerror(s) char *s; {
fputs(s, stderr);
putc('\n', stderr);
}
函数原型声明位于另一个文件中,如下所示
void yyerror (char const *s);
我试图在Linux和Mac上编译代码。在Linux上,编译器会生成以下错误消息
error: argument ‘s’ doesn’t match prototype
void yyerror(s) char *s; {
^
在Mac上,编译器会生成以下警告消息
warning: promoted type 'char *' of K&R function parameter is not compatible with the parameter type 'const char *' declared in a previous prototype [-Wknr-promoted-parameter]
void yyerror(s) char *s; {
^
我的问题是: