Форум программистов, компьютерный форум CyberForum.ru

Как правильно передать массив объектов пользовательского типа в функцию? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сделать выборку между событиями с разными вероятностями http://www.cyberforum.ru/cpp-beginners/thread1801320.html
Добрый день. Есть следующая задача. Допустим дано n вариантов, вероятность наступления каждого различна. Надо получить вариант. Написал несколько сумбурно, но лучше сформировать не смог, поэтому приведу код для частного случая при n = 3. int random(int *mas){ int sum=mas+mas+mas; int rnd=rand()%sum; if (rnd<=mas)return 1; if(rnd<=(mas+mas))return 2; return 3;
C++ Зачем создавать безымянное пространство имён, если я могу просто написать static? Народ, прочитал что в С++ для объявления статической глобальной переменной используют вот такую штуку: namespace { int x; } но также добавили, что можно такие переменные и со словом static объявлять. И вот я не понимаю нафига мне создавать безымянное пространства имен, если я могу просто написать static и всё, готово. В чём его плюсы? http://www.cyberforum.ru/cpp-beginners/thread1801311.html
C++ Заполнить квадратную матрицу данными из файла и найти столбец с максимальной суммой элементов
Сама суть такова Программно сформировать файл data.txt содержащий 25 случайных чисел, записанных по 5 чисел в строке. Считать этот файл и заполнить двумерный массив размерностью 5х5 прочитанными числами. С полученным массивом произвести вычисления согласно Определить номер столбца двумерного массива с максимальной суммой элементов. Если таких столбцов несколько, то напечатать номер столбца с...
Ипользование класса stringstream C++
Всем привет. Дело такое: задача одного из моих методов класса запросить вводи имени клиента и его номер счета, ну и сохранить их в переменных. Но есть загвоздка, номер счета нужно сохранить в string. Почитал я где-то что можно использовать stringstream. В итоге написал такой код: void Bank::Input() { int number_i; stringstream ss; cout << "Введите имя клиента: "; cin >> name; cout...
C++ Создайте класс с цикличной очередью целых http://www.cyberforum.ru/cpp-beginners/thread1801292.html
Создайте класс с цикличной очередью целых. Сделайте очередь длинной 100 целых. В функцию main() включите краткую демонстрацию работы. ничего не понял:(
C++ Реализвать приложение по сжатию PNG-файла на основе проекта libdeflate добрый вечер! У меня больше просьба, не вопрос. Я являюсь разработчиком небольшого проекта по сжатию/оптимизации изображений - https://github.com/lorents17/iCatalyst. Мне нужна помощь специалиста для написания небольшого приложения по сжатию PNG на основе проекта libdeflate. PNG для сжатия использует алгоритм сжатия - Deflate. libdeflate - проект по сжатию данных на основе алгоритма... подробнее

Показать сообщение отдельно
Blood Red Rose
0 / 0 / 0
Регистрация: 02.04.2016
Сообщений: 66
01.09.2016, 07:05     Как правильно передать массив объектов пользовательского типа в функцию?
Доброго всем, пишу впервые пишу огромную программу - игру и столкнулся с проблемой, которую так сам и не могу решить. Нужно передать массив структур в функцию. Выдает ошибку "error: no match for 'operator[]'. Выглядит условно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//Имеется структура
struct PLAYER
{
    char name[8];
    int recordscore;
};
 
int main()
{
  PLAYER player; //текущий игрок, допустим имя/счет заданы
  PLAYER LOADED[5]; //массив структур, хранит 5 предыдущих лучших рекордов + имена игроков, которые загружаются из файла
  Checking(player, LOADED);//тут возможно что то перед LOADED должно быть?
}
void Checking(struct PLAYER player, struct PLAYER LOADED) //функция для проверки нового рекорда от текущего игрока
{
        for(char i = 0; i < 6; i++)
        {
            if(player.recordscore > LOADED[i].recordscore) //тут я пробовал ставить -> по разному, не помогает
            {
                LOADED[i].name = player.name;
                LOADED[i].recordscore = player.recordscore;
            }
        }
}
Помогите разобраться
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru