1

XCode 4 でイニシャライザ リストを使用しようとしていますが、

struct Vector2f
{
  float x,y;
  Vector2f():x(0.f),y(0.f){}
  Vector2f( float ix, float iy ):x(ix),y(iy){}
} ;

しかし、7 つのコンパイラ エラーが発生します。

エラー

だから、私が「ビットフィールド」ビジネスをしていると思っているように見えますが、イニシャライザリストを使用しようとしています!

コード ファイルは、ファイルのプロパティで「C++ ヘッダー」としてマークされていますが、C としてコンパイルされているようですか?

4

1 に答える 1

1

ああなるほど。この C++ ソースインクルードしていた.mファイルはファイルでした。つまり、「Objective-C」としてコンパイルされていました。

#includeing ファイルの名前を.mm変更してコンパイル モードをObjective-C++Vector2fに変更すると、 C++ クラスのコンパイルが成功します。

  • 私が得た他のエラー(に変更struct Vector2fしたときclass Vector2f

型名「クラス」が不明です。「クラス」のことですか?

于 2012-09-07T23:39:22.873 に答える