почему использование list <const string> вместо list <string>выдает ошибку? - PullRequest
0 голосов
/ 07 мая 2019

Я попытался инициализировать список константных строк, но получаю ошибку.Простой код следующий:

#include <string>
#include <list>

int main()
{
    std::list<const std::string> l;
    return 0;
}

Когда я компилирую, я получаю следующую ошибку:

enter image description here

Может кто-нибудь объяснить мне, почему?Спасибо

1 Ответ

1 голос
/ 07 мая 2019

std::list должен иметь неконстантный и энергонезависимый тип значения по определению.Вы можете инициализировать сам список как const, поэтому содержимое и длина не могут быть изменены, например:

const std::list<std::string> l = {"a","b"};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...