上周在这里问了一个关于有两个main()的问题。昨晚试了一下并得到了这个错误。请看一下。 我的头文件(top.h):
#ifndef TOP_H_
#define TOP_H_
#include <stdio.h>
#include <string.h>
#define onemain main()
#define twomain main()
void print();
#endif /* TOP_H_ */
c源文件一(one.c):
#include "top.h"
void print();
int onemain()
{
print();
return 0;
}
void print()
{
printf("hello one");
}
c源文件二(two.c):
#include "top.h"
void print();
int twomain()
{
print();
return 0;
}
void print()
{
printf("hello two");
}
谢谢你们!
答案 0 :(得分:2)
#define onemain main()
int onemain()
这将预处理为:
int main()()
你需要丢掉一对parens。