私は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の子孫である場合、なぜこれらの例が機能しないのですか?