2017-01-28 16 views
1

Я получаю сообщение об ошибкеC++ Eclipse, Неон: без агрегатный тип «строка» не может быть инициализирован со списком инициализатора

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

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

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 . . . . . . . ."}; 

После this пост, я обновил настройки компилятора, как показано ниже прикрепленного изображения

enter image description here

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

+0

Вы хотите массив 'string' или' string'? – user4581301

ответ

6

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

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

Там нет такого constructor for std::string, который принимает кучу строковых литералов.

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

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