На основе диапазона для петли в C ++ Over Std :: Необязательно <Контейнер> не работаетC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 На основе диапазона для петли в C ++ Over Std :: Необязательно <Контейнер> не работает

Сообщение Anonymous »

Позвольте мне начать с кода C ++ , который упрощает мои проблемы, с которыми я столкнулся в фактической базе кода. Я скомпилировал его с -std = c ++ 20 и -std = c ++ 17 . Первый для петли ниже был в порядке; Второй для петли, который возвращает std :: Необязательно не было, для всех нескольких контейнеров, которые я пробовал. Я хотел бы понять, почему: < /p>

Код: Выделить всё

#include 
#include 
#include 
#include 

std::unordered_set GenerateSet() {
std::unordered_set names = {"a", "b"};
return names;
}

std::optional GenerateOptionalSet() {
std::unordered_set names = {"a", "b"};
return names;
}

int main() {
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79596814/range-based-for-loop-in-c-over-stdoptionalcontainer-does-not-work[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»