#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#define WAITINGFUNC void waitingfor
WAITINGFUNC(double seconds)
{
sleep(seconds);
}
void main()
{
WAITINGFUNC(3);
}
是否可以提供这样的函数名称?关于使代码对任何人都可读。
另外,我得到了这个错误:expected declaration specifiers or '...' before numeric constant
。
答案 0 :(得分:5)
在您的代码中,WAITINGFUNC
扩展为void waitingfor
。当您声明一个函数时,这是预期的,但在调用它时却并非如此。因此,在main
函数中,您基本上具有以下功能:
void main()
{
void waitingfor(3);
}
除了main
必须返回int
而不是void
之外,void waitingfor(3);
也是语法错误,因为这并不意味着任何东西。使用MACROS进行函数声明并不是一个好主意,它也不会以任何有意义的方式提高代码的可读性。您最好坚持使用普通的函数声明,因为几乎所有C程序员都非常擅长阅读和理解大多数函数声明。