Статические определения constexpr в классе и в основной функции [дубликат]C++

Программы на C++. Форум разработчиков
Anonymous
Статические определения constexpr в классе и в основной функции [дубликат]

Сообщение Anonymous »

Когда я пытаюсь определить некоторую переменную в основной функции, я могу определить переменную как:

Код: Выделить всё

int main ()
{
constexpr unsigned int  VariableName = 10;
}
Однако, когда я пытаюсь инкапсулировать переменные в класс, мне не удается записать его как:

Код: Выделить всё

class myClass
{
public:
constexpr unsigned int  VariableName = 10;
};
но это позволяет мне написать его как статический член класса:

Код: Выделить всё

class myClass
{
public:
static constexpr unsigned int  VariableName = 10;
};
Почему я не могу определить переменную в классе так же, как constexp dataType VariableName ? Почему в этом случае мне всегда следует использовать static?
Моей первоначальной целью было сохранить некоторые параметры модели сигнала в классе, чтобы я мог отслеживать, что я изменил, и видеть влияние этих параметров на модель сигнала. По этой причине я хотел использовать constexpr и класс, инкапсулирующий эти параметры.

Подробнее здесь: https://stackoverflow.com/questions/784 ... n-function

Вернуться в «C++»