【发布时间】:2011-06-07 10:53:04
【问题描述】:
方法重载是不可能的。 我有两个同名的函数。 当像下面这样声明时,我会出错。
-(RS232Msg*)CreateMessage:(REMOTE_MESSAGE_ID) nMessageNumber;
-(RS232Msg*)CreateMessage:(const uint8_t*) szMessageName;
当声明 -(RS232Msg*)CreateMessage:(const uint8_t*) szMessageName; 时,我没有收到任何错误。
我也有两个具有不同返回类型和参数的同名函数。但是它工作正常并且它的声明中没有错误。
为什么会这样?
【问题讨论】:
-
我传递的参数类型不同。为什么会出错。
-
因为不支持方法重载 :) 原因是参数类型不是 Objective-c 中方法签名的一部分。只有他们的名字很重要。
-
@Vladimir & Itai:谢谢你的解释。
标签: objective-c