我们可以在函数内修改函数原型吗?

前端之家收集整理的这篇文章主要介绍了我们可以在函数内修改函数原型吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在C中声明如下:
void abcd(int,char);

void main()
{
    extern void abcd(char);
    abcd (q);
}

是否可以实现这样的代码
C将如何允许我们这样编码?
函数调用abcd()会将’q’作为char还是整数?

解决方法

对不起,我忽略了C而不是C标签(删除了C的东西).我认为这应该在C中做:
void abcd_c(char x){};
void abcd_i(int x){};
int main(int argc,char *argv[])
 {
 #define abcd abcd_c
 abcd('t');
 abcd('e');
 abcd('s');
 abcd('t');
 #undef abcd

 #define abcd abcd_i
 abcd(123);
 #undef abcd
 }

您只需使用#define / #undef在部分代码中选择想要的行为

原文链接:https://www.f2er.com/c/116339.html

猜你在找的C&C++相关文章