Должно ли не быть квалифицированным в std :: allocator ?C++

Программы на C++. Форум разработчиков
Anonymous
Должно ли не быть квалифицированным в std :: allocator ?

Сообщение Anonymous »

gcc , clang и msvc все отвергают следующий код:

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

#include 
#include 

int main() {
auto _ = std::vector{};     // error
auto _ = std::vector{};  // error
auto _ = std::vector{};          // error
}
См. Также https://godbolt.org/z/3gy9e66xh
Это потому, что std :: allocator не принимает t , если он квалифицируется Const , Volatile или ссылка. Мне просто интересно:
это требуется стандартом C ++ , что t не должен быть квалифицирован , volatile или ссылка в std :: allocator ?

Подробнее здесь: https://stackoverflow.com/questions/796 ... allocatort

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