标签: enums

在枚举之前使用枚举

我有一个C++头文件,在公共部分声明了枚举:

enum Button {A, B, C, D};
Run Code Online (Sandbox Code Playgroud)

和一个地图,使用该枚举作为私有部分中的模板参数:

map<Button, int> bindings;
Run Code Online (Sandbox Code Playgroud)

如果不是因为我喜欢在公共部分之前定义私有部分,那么这将完美地工作,因此编译器不会将Button识别为符号.我已经在地图声明工作之前检查并移动了Button声明.

这对我来说似乎是一个巨大的限制,有没有我可以使用的解决方法,而不必翻转我的头文件的公共和私人部分?

c++ enums

-4
推荐指数
1
解决办法
76
查看次数

在Java中使用字符串初始化枚举的值

我有枚举,用字符串定义和初始化如下

public enum Code {
    OK( "OK" ),
    ERROR_FILE_NOT_FOUND ( "FILE_NOT_FOUND xxxxxxxxx" ),
    ERROR_AUTHENTICATION_FAILURE("AUTHENTICATION_FAILURE xxxxxxx" ),
    ERROR_AUTHORIZATION_FAILURE("AUTHORIZATION_FAILURE xxxxxxx" ),
    ERROR_DUPLICATE_DEF("DUPLICATE_DEF xxxxxxx"),
    ERROR("ERROR xxxxxx")

    private final String errorText;

    private Code(String error) {
        errorText = error;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我有枚举值,ERROR_FILE_NOT_FOUND如何获得相应的字符串值"FILE_NOT_FOUNDxxxxxxxxx"?

谢谢,

java enums

-4
推荐指数
1
解决办法
52
查看次数

为什么这个简短的C程序的结果是"3 2"?

这是源代码:

    #include <stdio.h>

    enum coordinate_type{ RECTANGULAR = 1,POLAR };

    int main(void)
    {
        int RECTANGULAR;
        printf("%d %d\n",RECTANGULAR,POLAR);
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

为什么结果如下:

3 2
Run Code Online (Sandbox Code Playgroud)

c enums

-4
推荐指数
1
解决办法
46
查看次数

来自rawValues的Swift初始化数组

我有一个枚举的原始值数组。在Swift代码的一行中,是否可以从该原始值数组中创建一个枚举数组?

enums ios swift

-4
推荐指数
1
解决办法
65
查看次数

java enum用法获取和设置

我在这里试图获取并在类对象中设置枚举,但不知道如何做到这一点.这就是我到目前为止所拥有的.我已经抬起头来,我可以看到一些看起来太复杂的例子让我无法理解.有什么帮助吗?

public class EnumExample {

public static class Task {

    private String _task;

    public enum Priority {

        ZERO (0), MAYBE (1), LOW (2), MEDIUM (3), HIGH (4), EXTREME (5);

        private int _priority;

        Priority() {
            _priority = 0;
            // Does this set set the default priority level to 0??
        }

        Priority(int priority) {
            _priority = priority;
            // This is where I can set the priority level of this task??
        }

        public int getPriority() {
            return _priority;
        }

        public void setPriority(int priority) …
Run Code Online (Sandbox Code Playgroud)

java enums

-5
推荐指数
1
解决办法
3万
查看次数

如何将"value"转换为枚举?

我有这个枚举类:

public enum IconImageTag {

    None("val1"),
    USD("val2"),
    EURO("val3");
}
Run Code Online (Sandbox Code Playgroud)

给出一个代表一个字符串"value"(比如说"val"1)

如何将其转换为相应的枚举?

更新

我试过这个.为什么从ctor访问静态成员是非法的?我收到一个错误.

  private final String value;
    private static final Map<String, IconImageTag> stringToEnumMap = new HashMap<>();

    IconImageTag(String value) {
        this.value = value;
        stringToEnumMap.put(value, this);
    }
Run Code Online (Sandbox Code Playgroud)

java string enums

-5
推荐指数
1
解决办法
170
查看次数

参考c ++枚举

在c ++ 11中,在类中定义的引用枚举的c ++"方式"(与c中使用的方式相反)是什么?例如

foo.BAR vs Foo::States::BAR
Run Code Online (Sandbox Code Playgroud)

我总是使用后者,但在某些地方,前者可能具有同样的意义.

c++ enums

-8
推荐指数
1
解决办法
116
查看次数

如何为字符串赋值?

我所做的就是将这些字符串分配给enumdata类型值,但它不起作用.我已将字符串分配给C中的枚举.我究竟做错了什么?

#include <stdio.h>
enum day{monday,tuesday,wednesday};

int main()
{ 
    enum day pres;
    int n,ab;
    scanf("%s",&pres);
    scanf("%d",&ab);
    n=((ab%7)+pres);
    print("%d",n);
    return 0;  
}
Run Code Online (Sandbox Code Playgroud)

c enums

-11
推荐指数
1
解决办法
89
查看次数

标签 统计

enums ×8

java ×3

c ×2

c++ ×2

ios ×1

string ×1

swift ×1