当前位置:  开发笔记 > 编程语言 > 正文

冲突类型总是C中的问题吗?

如何解决《冲突类型总是C中的问题吗?》经验,为你挑选了2个好方法。

我越来越痛苦地从Java转移到C.我已经习惯了使用不同的方法来使用相同的名称,但它们采用不同的参数.在C中这会产生问题吗?

Cell makeCell(int dim, int iterations, Cell parent);

Cell makeCell(Cell parent);

有一些小巧的变通对于这个问题,或者我应该保持咬紧牙关,并呼吁他们的一个_makeCellmakeCell2或一些其他类似的可笑吗?



1> Jonathan Lef..:

在C中,您没有重载函数 - 具有相同名称但参数类型不同的函数(忽略诸如C99中的esoterica ).

必须为这些函数指定不同的名称.

或者使用支持重载函数名称的其他语言.



2> paxdiablo..:

你在Java或C++中理解它是没有重载的(尽管你手动创建了使用函数指针的重载,但是如果你想要面向对象,使用C++,而不是带有kludges的C: - ),所以你应该如你所怀疑的那样,称它们为不同的功能名称.

但是不要将它们称为_makeCell或makeCell2,因为那不是描述性的.怎么样:

Cell makeCellFromDimensionAndIteration(int dim, int iterations, Cell parent);
Cell makeCell(Cell parent);

第一个可以缩短,但要确保它仍然有意义.makeCell2对于阅读代码的人来说意义不大(包括你自己未来六个月).

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有