我有一部分代码,我使用预编译开关使用相同功能的多个签名。预编译基于提供的配置生成。这是否符合函数重载的要求?
E.g。
#define Number_Of_Cores 1 (generated based on config)
#if(Number_Of_Cores > 1) [Shall be handled by PreProcessor]
FUNCTION_ABC(Core_Identifier);
#else
FUNCTION_ABC();
#endif
答案 0 :(得分:3)
没有。根据预编译开关的值,将编译任一代码块。因此,在任何给定的编译实例中,只有一个函数签名可用。
答案 1 :(得分:1)
不,当然没有。
C不支持函数重载。
您永远不会同时定义这两个函数,因此不会出现重载。
在C中唯一的#34;重载"适用于某些内置运算符,如+
,当然,您无法在C ++中自定义/覆盖。