Как объявить статическую переменную 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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