Giter Club home page Giter Club logo

Comments (10)

Neargye avatar Neargye commented on May 18, 2024

Hi @morph208,

Example gcc9.2: https://godbolt.org/z/d3cXHr

This situation may occur if forward declared enum: https://godbolt.org/z/h9b_SK

from magic_enum.

morph208 avatar morph208 commented on May 18, 2024

Thanks for your very quick reply. It's not forward declared but maybe I cannot use it like I do. I'm trying to get the size of the enum to declare an std::array of that size. Since the count it's constexpr I would have expected to work. I do not call it from the main like you did in your example, I should probably have told you that earlier. Sorry about that. Anyway it compiles and works as expected with VS2017. Here the complete code below:

#pragma once
#include "MagicEnum.h"
#include <array>

namespace myNamespace
{
enum class MyEnum  : std::size_t
{
    Value0,
    Value1,
    Value2,
};
constexpr std::size_t countEnum = magic_enum::enum_count<MyEnum>();

using MyList = std::array<bool, countEnum>;

class MyClass
{
public:
    MyClass() = default;
    ~MyClass() = default;

private:
    MyList m_myList;
};
}    // end of namespace myNamespace

from magic_enum.

Neargye avatar Neargye commented on May 18, 2024

Thanks for update example, I will check it later.

from magic_enum.

Neargye avatar Neargye commented on May 18, 2024

Hi @morph208,
Could you help to debug and run some code

std::cout << (int)MyEnum::Value0 << magic_enum::enum_name<MyEnum::Value0>() << std::endl;
std::cout << (int)MyEnum::Value1 << magic_enum::enum_name<MyEnum::Value1>() << std::endl;
std::cout << (int)MyEnum::Value2 << magic_enum::enum_name<MyEnum::Value2>() << std::endl;

from magic_enum.

morph208 avatar morph208 commented on May 18, 2024

Hey @Neargye

Sorry for the delay. I was very busy with a release. Anyway, here the output you needed:

0Value0
1Value1
2Value2

Obviously the output was generated on Windows with VS 2017. I cannot give you an output on gcc 9.2.1 since it does not even compile.

from magic_enum.

morph208 avatar morph208 commented on May 18, 2024

Any news on this? I haven’t heard from you since early March.

from magic_enum.

Neargye avatar Neargye commented on May 18, 2024

Hi @morph208,
Sorry for the long answer, to be honest, I had a very busy time.
I don’t know yet where the is a problem. Could you tell the OS and the version of the compiler on which the bug is occur, I will try to play it in the virtual machine.

from magic_enum.

morph208 avatar morph208 commented on May 18, 2024

No worries, totally understandable. The OS is Linux Mint 19 and the compiler is gcc 9.2.1.

from magic_enum.

zweistein22 avatar zweistein22 commented on May 18, 2024

Hello,
I have the same compile error
"magic_enum::enum_range requires enum implementation or valid max and min."
, but in a special snapcraft.yaml build.
Same source code as on linux ubuntu 18 same compiler gcc 9.3, everything same, but since yesterday inside snapcraft.yaml compilation broken . I played around with LC_LOCAL and libgtk2.0-dev, but cannot reproduce yet... compilation always broken which makes me think of a recent gcc or magic-enum change.

from magic_enum.

egorpugin avatar egorpugin commented on May 18, 2024

#53 looks similar to this one.

from magic_enum.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.