我正在尝试在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?
答案 0 :(得分:1)
哦,我明白了。 包含此C ++源文件的文件是.m
文件 - 即它被编译为“Objective-C”。
将#include
文件重命名为.mm
会将其编译模式更改为 Objective-C ++ ,然后Vector2f
C ++类的编译成功。< / p>
struct Vector2f
更改为class Vector2f
时)