Как объявить статическую переменную contexpr в C ++?C++

Программы на C++. Форум разработчиков
Anonymous
Как объявить статическую переменную contexpr в C ++?

Сообщение Anonymous »

У меня есть класс foo , который включает массив и статическую переменную contexpr . Как общая конвенция, я хочу написать публичные и частные переменные соответственно. Но ошибка компилятора возникает S_ARRAY_SIZE ', не была объявлена ​​в этой области , когда я составляю код заголовка ниже.

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

#ifndef FOO_H
#define FOO_H
#include 
#include 

class Foo
{
public:
Foo();
std::array m_array;
private:
constexpr static size_t s_array_size;
}

#endif
Я могу сделать S_ARRAY_SIZE Public, или я могу переместить раздел Private над разделом Public для решения проблемы. Тем не менее, мне не нравятся эти решения, так как я хочу два раздела Public и Private соответственно. Есть ли способ объявить переменную ConstexPR static внутри класса?

Подробнее здесь: https://stackoverflow.com/questions/796 ... iable-in-c

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