Не допускается следующее ('std::numeric_limits::max()' не может появляться в константном выражении):
#include <limits>
struct MyStruct {
private:
static const unsigned int INVALID_VALUE = std::numeric_limits<unsigned int>::max();
public:
unsigned int index;
inline MyStruct() : index(INVALID_VALUE) {}
};
Какой может быть лучший способ получить желаемое поведение? Я хотел бы, если это возможно, чтобы INVALID_VALUE было известно во время компиляции (например, чтобы позволить компилятору выполнять лучшую оптимизацию).