【发布时间】:2011-02-18 11:22:10
【问题描述】:
我正在尝试将包含一些静态方法的旧“C”程序转换为 Obj-c,但在编译时遇到了一些问题。在我得到的头文件中:
@interface Anneal : NSObject
...
...
+(float)approxInitT;
-(costType)simulatedAnnealing;
...
以及在实现文件中,两个问题的方法(也为简洁起见):
@implementation Anneal
+(float)approxInitT
{
float T=0.0;
int m2=0;
...
if(m2==0)
T = T_LIFESAVER;
else
T = T / m2 / log(initProb);
return T;
}
-(costType)simulatedAnnealing
{
float T;
...
if(Tset)
T=initialT;
else
T=[self approxInitT]; // error:incompatible types in assignment
}
不幸的是,即使“T”和类方法的返回都是“float”类型,我也会收到“赋值中的类型不兼容”错误。虽然代码包含多个源文件(我预计在接下来的几天里会遇到更多问题),但它们都在同一个源文件中。 这个问题显然是由我调用“approxInitT()”的方式错误引起的,但是到目前为止,互联网搜索还没有发现任何问题的答案。
作为一个新手,我在多模型代码或使用静态/类方法方面没有任何经验,如果能提供任何帮助,我将不胜感激。在此先感谢:-)
【问题讨论】:
标签: objective-c static-methods