Using enums as parameters in an external file in Objective-C?

后端 未结 3 1322
予麋鹿
予麋鹿 2021-02-14 17:23

I have an enum named RandomEnum in file foo.h:

// foo.h
typedef enum RandomEnum {
  ran_1 = 0,
  ran_2
} RandomEnum;

In another file, bar.h, I\

相关标签:
3条回答
  • 2021-02-14 17:36

    The C construct enum RandomEnum does not define a type called RandomEnum — it defines a type called enum RandomEnum. To be able to write just RandomEnum for the type, you need to use a typedef.

    0 讨论(0)
  • 2021-02-14 17:40

    As @Chuck said, it will work if you do this if you don't want to declare a typedef:

    -(RandomEnum)echo:(enum RandomEnum)ran;
    
    0 讨论(0)
  • 2021-02-14 17:48

    It turns out this is possible after all. My problem had to do with odd cross-includes that weren't direct, but were still present.

    In the given example, foo.h included thing.h which included something.h which included bar.h. This cross dependency is what ended up being the problem.

    Still, good to know for compiler bugs. Thanks for the responses!

    0 讨论(0)
提交回复
热议问题