Недавно я столкнулся с некоторыми проблемами при попытке выполнить следующую логику:
static const int size = getSize();
int getSize() {
return 50;
}
Полученная ошибка: initialiser element is not constant
Прочитав в Интернете, я понимаю, что эта проблемапотому что компилятор оценивает выражение static const
при компиляции и поэтому не может знать, какое значение должно быть.
Мой вопрос: как мне обойти это?
Если у меня естьбиблиотека, которая содержит много функций, но все они требуют этой логики, как они должны использовать ее без необходимости каждый раз вычислять ее?
И даже если они должны это сделать, что, если сама логика может изменяться во время выполнения, но я хочу, чтобы только первое значение, которое я получаю от функции?
Возможно, я должен уточнить, что логика вgetSize - это просто пример, он также может содержать логику, которая извлекает размер файла из определенного файла.