C ++ Eclipse Neon: неагрегированный тип ‘string’ не может быть инициализирован списком инициализаторов

Я получаю сообщение об ошибке

non-aggregate type 'string' (aka 'basic_string<char, char_traits<char>, allocator<char> >') cannot be initialized with an initializer list

При использовании ниже в качестве глобальной переменной в моем C ++ коде в Eclipse Neon.

string boardStr = {". . . . . . . . B . . . L L L . . . . . . . . . . . . . . . . .",
". . . . . . . . B . . . L L L . . . . . . . . . . . . . . . . .",
". . . . . . . . B . . . L L L . . . L L L . . . . . . . . . . .",
". . . . . . . . B . . . L L L . . L L L . . . R R . . . . . . .",
". . . . . . . . B . . . L L L L L L L L . . . R R . . . . . . .",
". . . . . . . . B . . . L L L L L L . . . . . . . . . . . . . .",
". . . . . . . . B . . . . . . . . . . . . R R . . . . . . . . .",
". . . . . . . . B B . . . . . . . . . . . R R . . . . . . . . .",
". . . . . . . . W B B . . . . . . . . . . . . . . . . . . . . .",
". . . R R . . . W W B B B B B B B B B B . . . . . . . . . . . .",
". . . R R . . . W W . . . . . . . . . B . . . . . . . . . . . .",
". . . . . . . . W W . . . . . . . . . B . . . . . . T . . . . .",
". . . W W W W W W W . . . . . . . . . B . . . . . . . . . . . .",
". . . W W W W W W W . . . . . . . . . B . . R R . . . . . . . .",
". . . W W . . . . . . . . . . B B B B B . . R R . W W W W W W W",
". . . W W . . . . . . . . . . B . . . . . . . . . W . . . . . .",
"W W W W . . . . . . . . . . . B . . . W W W W W W W . . . . . .",
". . . W W W W W W W . . . . . B . . . . . . . . . . . . B B B B",
". . . W W W W W W W . . . . . B B B . . . . . . . . . . B . . .",
". . . W W W W W W W . . . . . . . B W W W W W W B B B B B . . .",
". . . W W W W W W W . . . . . . . B W W W W W W B . . . . . . .",
". . . . . . . . . . . B B B . . . . . . . . . . B B . . . . . .",
". . . . . R R . . . . B . . . . . . . . . . . . . B . . . . . .",
". . . . . R R . . . . B . . . . . . . . . . . . . B . T . . . .",
". . . . . . . . . . . B . . . . . R R . . . . . . B . . . . . .",
". . . . . . . . . . . B . . . . . R R . . . . . . . . . . . . .",
". . . . . . . . . . . B . . . . . . . . . . R R . . . . . . . .",
". . . . . . . . . . . B . . . . . . . . . . R R . . . . . . . .",
". . . . . . . . . . . B . . . . . . . . . . R R . . . . . . . .",
". . . . . . . . . . . B . . . . . . . . . . R R . . . . . . . .",
". . . . . . . . . . . B . . . . . . . . . . R R . . . . . . . .",
". . . . . . . . . . . B . . . . . . . . . . R R . . . . . . . ."};

Следующий этот пост, я обновил настройки компилятора, как показано ниже

введите описание изображения здесь

Все еще видите ошибку. Что мне не хватает? Я нахожусь на Mac OSx El Capitan.

1

Решение

Вот более короткий пример:

std::string fails{ "abc", "def", "ghi" };

Такого нет конструктор для std::string это занимает кучу строковых литералов.

Но тебе все равно это не нужно. Вы действительно просто пытаетесь построить свой string из одного большого буквального. И строковые литералы могут быть объединены — просто удалите запятые:

std::string ok{ "abc" "def" "ghi" };
std::string also_ok = "abc" "def" "ghi";
6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]