// Below code doesn't work
consteval bool func2(const char* str) {
return str[0] == 'a';
}
// Error: ‘str’ is not a constant expression
bool func1(const char* str, bool flag) {
return flag && func2(str);
}
int main() {
bool flag = false;
std::cout я знаю, что могу использовать параметр шаблона для достижения этой цели. Но, к сожалению, я не могу обрабатывать строковые литералы так же.[code]// Below code works
consteval bool func2(int num) {
return num == 1;
}
template
bool func1(bool flag) {
return flag && func2(N);
}
int main() {
bool flag = false;
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79452084/is-there-any-way-to-mark-a-function-parameter-as-constexpr[/url]
Пример кода, который я хочу реализовать: < /p> [code]// Below code doesn't work consteval bool func2(const char* str) { return str[0] == 'a'; }
// Error: ‘str’ is not a constant expression bool func1(const char* str, bool flag) { return flag && func2(str); }
int main() { bool flag = false; std::cout я знаю, что могу использовать параметр шаблона для достижения этой цели. Но, к сожалению, я не могу обрабатывать строковые литералы так же.[code]// Below code works consteval bool func2(int num) { return num == 1; }
template bool func1(bool flag) { return flag && func2(N); }