shu*_*alo 2 c gcc overloading c99
我在C99中编写代码并通过GCC编译.我想使用函数重载的风格原因(否则我必须自己做名称修改).
我读过有没有理由说C99不支持函数重载?但是,我仍然想知道它是否可以在GCC中启用.
你能帮助我吗?
Cat*_*lus 10
不,C99中没有函数重载,即使在愚蠢的GCC扩展中也没有.C11补充说_Generic,但即便如此,你仍然需要自己破坏名称.
void foo_int(int x);
void foo_double(double x);
#define foo(arg) _Generic((arg), int: foo_int, double: foo_double)(arg)
Run Code Online (Sandbox Code Playgroud)
不管是好还是坏,好吧.这是C.