Вопросы по теме 'if-constexpr'
Почему эта неопределенная внешняя переменная не приводит к ошибке компоновщика в С++ 17?
Я скомпилировал и запустил следующую программу в компиляторе C++17 (Coliru). В программе я объявил переменную extern , но не определил ее. Однако компилятор не выдает ошибку компоновщика .
#include <iostream>
extern int i; // Only...
4082 просмотров
schedule
03.07.2022
Структурированные привязки для вашего собственного типа, который не является структурой или кортежем (через общедоступную функцию-член)
Я прохожу через Herb Sutter's
Путешествие: к более мощному и простому программированию на C++
Связывание структуры
Чтобы понять концепцию. Лучше всего написать программу, которую я пробовал, но получаю какую-то ошибку.
Просто хочу...
4209 просмотров
schedule
25.02.2024
Почему оператор if constexpr не устраняет эту ошибку основного константного выражения?
Что касается этого вопроса . Выражение основной константы, которое используется для инициализации constexpr переменной y , имеет неправильный формат. Так много дано.
Но если я попытаюсь превратить if в if constexpr :
template...
1761 просмотров
schedule
15.06.2023
Как правильно проверить член во время компиляции с помощью boost :: hana?
Я пишу программу моделирования физики, и я хочу сделать следующее: у меня есть адаптированная структура hana, и я хочу проверить, есть ли в этой структуре член с именем "AbsorbsEnergy" во время компиляции, используя:
if constexpr ( ... )
Как...
292 просмотров
schedule
24.01.2023
Увеличьте время жизни/область действия объекта из ветки `if constexpr`
Скажем, у нас есть следующий код
struct MyClass
{
MyClass() = delete; // or MyClass() { }
MyClass(int) { }
void func() { }
};
int main()
{
if constexpr (std::is_default_constructible_v<MyClass>) {
MyClass myObj;...
158 просмотров
schedule
03.06.2023
3 разных/одинаковых способа выполнения времени компиляции N-factorial в C++
Я пытаюсь поиграть с метапрограммированием шаблонов, constexpr и if constexpr, и придумал 3 разных способа выполнения N-рекурсивной/N-факторной операции.
Все три примера я нашел здесь на SO или в результате поиска в сети, а затем изменил их, чтобы...
317 просмотров
schedule
10.04.2022
Расширение языка c++17 и флаг std:c++17
Меня смущают разные ошибки в Visual Studio 2017 (версия 15.9.11):
'if constexpr' is a C++17 language extension
а также
language feature 'structured bindings' requires compiler flag '/std:c++17'
Я знаю, что добавление флага /std:c++17...
304 просмотров
schedule
18.08.2022
Почему ложная ветвь if constexpr компилируется?
Почему этот код выдает ошибку при компиляции? Мои знания (а также это ) if constexpr говорит, что блок else не должен компилироваться.
if constexpr (true) {
int a = 10;
} else {
int b = 10
}
Ошибка:
error: expected ‘,’ or...
215 просмотров
schedule
24.05.2023
Как сравнить string_view с помощью if-constexpt в контексте constexpr
Можно ли сравнить std :: string_view с использованием if constexpr в контексте constexpr? И почему is_hello_2 и is_hello_4 не компилируются, показывая ошибку: «s» не является постоянным выражением
static constexpr bool is_hello_1(auto s) {...
365 просмотров
schedule
23.02.2022
Ошибка компиляции, если условие constexpr не выполняется
Я хочу сопоставить определенные типы данных с помощью шаблонной функции C++ , и если ни один из случаев constexpr не соответствует, я хочу вызвать ошибку компиляции:
template<typename ValueType>
void match_data_type() {
if constexpr...
23 просмотров
schedule
18.04.2023
Как пропустить некомпилируемый код через constexpr-if в C++?
Представьте себе следующий код, который не компилируется:
Попробуйте онлайн!
#include <type_traits>
#include <iostream>
int main() {
struct A { int i = 123; };
struct B { int j = 456; };
B x;
if...
58 просмотров
schedule
12.05.2023