【发布时间】:2019-06-21 23:32:47
【问题描述】:
既然 C 语言中不允许直接进行函数重载,那么这些函数如何实现呢?
void MotorDriver_Create(float speedAddress,float frequencyAddress, float db_input);
void MotorDriver_Create(float speedAddress, float frequencyAddress, float minDB, float maxDB);
【问题讨论】:
-
你创建两个函数并调用任何合适的函数。
-
这将是更简单的解决方案,但我不允许这样做。
-
@Anku 你不被允许?这是什么意思?
-
我正在尝试开发独立于硬件的代码,该代码可以初始化参数中变量的值,并根据参数的数量使用上述功能之一。该代码适用于 Java/C++,但由于该代码应该在 C 上运行,因此需要一种方法来执行相同的操作。
-
@LeedMx
extern关键字确实指定了外部链接,但这也是文件范围声明的默认值,包括 all 函数。只有声明为static的函数具有内部链接。没有上下文、环境或范围允许 C 语言通过相同的名称访问不同的对象或函数,除了接受的答案中描述的通用选择之外,这实际上不是一回事。
标签: c