Ошибка компилятора C2134
"function" : вызов не приводит к константном выражению
Функция, объявленная как constexpr, может вызывать только другие функции, объявленные как constexpr.
Следующий пример приводит к возникновению ошибки C2134:
// C2134.cpp
// compile with: /c
int A() {
return 42;
};
constexpr int B() {
return A(); // Error C2134: 'A': call does not result in a constant expression.
}
Возможное решение
// C2134b.cpp
constexpr int A() { // add constexpr to A, since it meets the requirements of constexpr.
return 42;
};
constexpr int B() {
return A(); // No error
}