Я хотел бы создать структуру параметров constexpr. Несколько его членов будут рассчитываться с помощью функций constexpr. Например:
class Params {
public:
static constexpr size_t featureWinW{ 7 };
static constexpr size_t featureWinH{ 7 };
private:
static constexpr size_t getKernelSize()
{
//complex calculation
return 20;
}
public:
static constexpr size_t kernelSize{ getKernelSize() };
}
Я знаю, что getKernelSize похож на тот, который был определен вне класса, поэтому код неверен:
error: ‘static constexpr size_t Params::getKernelSize()’ called in a constant expression before its definition is complete
Как мне переформатировать код, чтобы он был действительным без спама даже выделенное пространство имен с приватными функциями cal c?