Ich habe eine Foo -Klass, die ein Array und eine statische Variable von Contexpr enthält. Als allgemeine Konvention möchte ich öffentliche bzw. private Variablen schreiben. Der Compiler-Fehler auftritt jedoch in diesem Bereich , wenn ich den Header-Code unten kompile.
Code: Select all
#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
Ich kann s_array_size public erstellen oder den privaten Abschnitt über dem Abschnitt öffentlich verschieben, um das
Problem zu lösen. Ich mag diese Lösungen jedoch nicht, da ich zwei Abschnitte öffentlich bzw. private möchte. Gibt es eine Möglichkeit, in einer Klasse eine Variable von Contexpr static zu deklarieren?