#include <iostream>
using namespace std;
int main(){
char a[] = {"qqq","www","eee"};
cout << a[1];
return 0;
}
Если написать string а не char то все работает, просто я немного не понял как это должно работать, пример взял из книги, там вот так было написано и я толком не понял там объявляется массив строк или массив символов, если массив строк то надо было написать вместо char string но почему написано char не пойму и поэтому до конца не ясно что хотел сказать автор, может это ошибка в книге?
char a[] = {"qqq","www","eee"};
Здесь объявлен массив char'ов, т.е. массив отдельных символов. Если бы вы написали
char a[] = {'q','w','e'};
все было бы верно. Но у вас - массив строковых литералов, а это в C++ - const char *. Поэтому правильнее всего -
const char * a[] = {"qqq","www","eee"};
Когда вы пишете
string a[] = {"qqq","www","eee"};
то просто каждый строковый литерал преобразуется в объект типа string...
Кроме того, поскольку строка - это массив символов, можно объявлять и так:
char a[] = {"qqq"};
В этом случае вы объявляете один массив char'ов - три из которых q, а четвертый - нулевой символ. a при этом при использовании является адресом первого элемента (первой буквы q).
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости