C++ 使用“时,应为类或命名空间”;c++;“枚举类”;在objective-c代码中
有人能帮我解决这个问题吗。我在C++头文件中有定义。C++ 使用“时,应为类或命名空间”;c++;“枚举类”;在objective-c代码中,c++,objective-c,objective-c++,C++,Objective C,Objective C++,有人能帮我解决这个问题吗。我在C++头文件中有定义。 enum class PixelFormat { ARGB32, RGB32 } 当我想在objective-c.mm源文件中执行类似操作时: PixelFormat x = PixelFormat::ARGB32; 顺便说一句,在Windows中,这个示例成功编译了,我在OSX中得到了编译错误“需要一个类或名称空间” 通过调用C++外部代码解决了问题。但是仍然有一个问题,是否可以做PixelFormat x=Pi
enum class PixelFormat {
ARGB32,
RGB32
}
当我想在objective-c.mm源文件中执行类似操作时:
PixelFormat x = PixelFormat::ARGB32;
顺便说一句,在Windows中,这个示例成功编译了,我在OSX中得到了编译错误“需要一个类或名称空间”
通过调用C++外部代码解决了问题。但是仍然有一个问题,是否可以做
PixelFormat x=PixelFormat::ARGB32代码>在objective-c代码中?这种类型的枚举需要c++11进行编译。你是用-std=c++11
编译的吗?@ArnonZilca,是的,我用过。我对c++
-objective-c
连接知之甚少,但这在我的gcc上编译得非常好(当用启用的c++11编译时)。如果你只是尝试一下:pixelx格式代码>在您的objective-c中。或者使用枚举
,而不是枚举类
。试着看看你是否能缩小范围。@ArnonZilca,当我尝试pixelx格式时代码>工作正常,我在尝试获取值时出错PixelFormat::ARGB32
。这种类型的枚举需要c++11编译。你是用-std=c++11
编译的吗?@ArnonZilca,是的,我用过。我对c++
-objective-c
连接知之甚少,但这在我的gcc上编译得非常好(当用启用的c++11编译时)。如果你只是尝试一下:pixelx格式代码>在您的objective-c中。或者使用枚举
,而不是枚举类
。试着看看你是否能缩小范围。@ArnonZilca,当我尝试pixelx格式时代码>它工作正常,当我试图获取值时出错PixelFormat::ARGB32
。