尽管我在 Cocoa 中进行了多年开发,但我从来不需要开发一种 C 风格的库来处理非对象变量。
例如,我所说的“C 风格函数”是:
float myCStyleFunction(float var1, float var2);
知道 Objective-C 是 C 的后代,我试图制作一个真正的 C 函数。但是编译器不允许一些简单的事情。
首先是通过引用:
void makeSomethingWithImages(CGImageRef & im1, CGImageRef & im1);
这不起作用。编译器说Parameter name omitted
。有没有办法通过引用传递我的 CGImages?
其次,默认参数:
void makeSomethingWithImages(CGImageRef im1, CGImageRef im1, float tolerance) { ... }
void makeSomethingWithImages(CGImageRef im1, CGImageRef im1) {
makeSomethingWithImages(im1, im2, 0);
}
错误 :Conflicting types for 'makeSomethingWithImages'
有没有办法有一些默认参数?
还有一个附属问题:如果 Obj-C 是 C 的后代,为什么这些例子不起作用?