簡體   English   中英

將枚舉值分配給不可比較的類型int

[英]Assigning to enum value to incompaitable type int

我正在使用c ++庫。 所以我將.m文件轉換為.mm文件

現在發生了什么,我無法設置枚舉值。

見枚舉

 typedef enum{
    ImageSourceTypeCamera,
    ImageSourceTypePhotoLibrary,
    ImageSourceTypeNone
  }
ImageSourceType;

//屬性

@property(nonatomic,assign) ImageSourceType ImageSourceType;

現在當我使用這條線時給我錯誤

    self.ImageSourceType=2;  / / assigning to 'ImageProcessType' from incompaitable with 'int'

嘗試:

self.ImageSourceType = ImageSourceTypePhotoLibrary

要使用數字代替枚舉的名稱,請按如下所示格式化定義:

typedef enum{
    ImageSourceTypeCamera = 0,
    ImageSourceTypePhotoLibrary = 1,
    ImageSourceTypeNone = 2
  }
ImageSourceType;

self.ImageSourceType = 0; //ImageSourceTypeCamera
self.ImageSourceType = 1; //ImageSourceTypePhotoLibrary 
//etc...

if (self.ImageSourceType == 0) {
    //this is the same as (self.ImageSourceType == ImageSourceTypeCamera)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM