2017-06-17 2 views
-2

私は「伸ばしたい」CGGeometryですが、それはクラスではありません。だから私は私のアプリケーションから使用できる外部関数を作成する必要があります。私はこのようなコードとヘッダファイルを作成しているCで関数を使用してファイルを作成し、アプリケーションからアクセスするにはどうすればよいですか?

:私はライン上のエラーをコンパイルしている

#ifndef CGGeometry_Extensions_h 
#define CGGeometry_Extensions_h 


CGRect CGRectFromCenterAndSize(CGPoint center, CGSize size) { 
    CGFloat width = [size width]; //1 
    CGFloat height = [size height]; //2 
    CGFloat x = center.x - width; 
    CGFloat y = center.y - height; 
    return CGRectMake(x, y, width, height); 
} 

#endif /* CGGeometry_Extensions_h */ 

\\1\\2

悪いレシーバータイプ「CGSize」(別名構造体CGSizeでマークされました)

何が問題なのですか?

答えて

0

私はこれらのコードはCで構文エラーがあると思います。私はCGFloatをどう定義するかわからない、それは

CGFloat width = size.width  
    CGFloat height = size.height 
+0

する必要がありますエラーメッセージは、これはにObjCとしてコンパイルされていることを示し

CGFloat width = [size width]; //1 CGFloat height = [size height]; //2 

;構文エラーではありません。タイプの問題です。 –

+0

'CGFloat width = [size width];と同じような構文が伝統的なCであるかどうかはわかりません。それは馬鹿げて見えます。 – FesianXu

+0

素晴らしい、ありがとう! – Phox

関連する問題