Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
6 / 6 / 0
Регистрация: 08.10.2017
Сообщений: 19

Как создать в классе статический массив типа string?

18.09.2020, 13:05. Показов 3986. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всего есть два класса. Класс Monster имеет поля: enum раса, string имя и int HP. Второй класс MonsterGenerate рандомно генерирует поля для первого класса в своем методе и возвращает их для инициализации Monster. С хп и enum'ом всё понятно, там случайно генерируется int. А вот толково объявить и проинициализировать массив случайных имен не получается без ругани компилятора. И const пробовал вписывать, и инициализацию за пределами класса. Пишет:

Кликните здесь для просмотра всего текста
Ошибка C2040 randomName: "std::string" отличается по уровням косвенного обращения от "std::string [3]"


C++
1
2
3
4
5
6
7
8
9
10
11
class MonsterGenerator
{
public:
    static string randomName[3]; // здесь затуп
    static Monster generateMonster()
    {
        return Monster (static_cast <Monster::MonsterType> (rand() % Monster::MonsterType::MAX_MONSTER_TYPES), "asd"/*randomName[rand() % 3]*/, rand() % 80 + 20);
    }
};
 
string MonsterGenerator::randomName = { "Sokolov", "Evegeniy", "Kravchenko" }; //и здесь
Может нужно динамически выделять память или через char, кто знает?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.09.2020, 13:05
Ответы с готовыми решениями:

Нужно создать статический массив строк как статический массив указателей на строки. Условние ниже -->
Слова английского текста рассортировать по возрастанию количества заданной буквы в слове. Слова с одинаковым количеством такой буквы...

создать статический массив строк как статический массив указателей на строки, задание ниже -->
Слова английского текста, начинающиеся с гласных букв, рассортировать в алфавитном порядке по первой согласной букве слова. Остальные слова...

Как создать динамический массив типа string? Как создать класс такого массива?
Как создать динамический массив типа string? Как создать класс такого массива? =-O Помогите, пожалуйста, очень нужна помощь!

20
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
19.09.2020, 11:02
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от bars268 Посмотреть сообщение
А вот как по мне первое - легаси.
Нет. Это просто разные инструменты.

У разных инструментов - разные характеристики. Именно поэтому все еще выпускают, например, отвертки в огромном ассортименте, когда казалось бы придуман шуруповерт. Если такая аналогия не устраивает, то можно напрямую обратиться к характеристикам вектора, и сравнить их с теми, что предлагает, например std::array (который есть прямой аналог "сишного" массива), сравнить их.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.09.2020, 11:02

Как создать массив строк типа String^?
Как создать массив строк типа String^ ?

Как создать массив переменных типа String^?
1) Как создать массив переменных типа String^ ? 2) Как перевести переменную типа String^ to string ? Пробовал через &lt;array&gt;,...

Как инициализировать статический константный массив в классе?
Например, есть класс, которой статически хранит виды себя. Не могу понять как его инициализировать (Или может предложите хранить по...

Как создать и заполнить динамический массив строк типа std::string?
Как создать и заполнить динамический массив строк типа string? Если заполнять массивы через getline(), почему то удаляется первая буква в...

Как объявить в классе переменную типа String
Объявление переменной класса типа String String^ My_String = &quot;Hello&quot;; вызывает множество ошибок компилятора. С чем это связано, и как с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru