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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
axss
0 / 0 / 0
Регистрация: 11.05.2012
Сообщений: 5
#1

Динамический массив структур и функция - C++

11.05.2012, 20:07. Просмотров 2038. Ответов 1
Метки нет (Все метки)

Требуется передать в функцию динамический массив структур для редактирования
Вот наработки:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
//#include <math.h>
#include <time.h>
 
int n,i,j;
 
struct klass
{
    char k[4][255];
};
 
void sort(klass* s)
{
    //тут все работает, эта функция не редактирует структуру
}
 
void change(klass* s)
{
   ...
   s[k].k[l]=v;
   s[k]->k[l]=v;
   ...
}
 
int main ()
{system("chcp 1251 > nul");
 
    printf("Введите кол-во записей: ");
    scanf("%d",&n);
 
    klass s[n];
    ...
    sort(s);
    change(s);
}
В обоих случаях выдает ошибку:
Код
24|error: invalid array assignment|
25|error: base operand of '->' has non-pointer type 'klass'|
пробовал также
C++
1
change(&s[0]);
В обоих случаях выдает ошибки.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2012, 20:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамический массив структур и функция (C++):

Как объявить динамический массив структур, и как выглядит обращение к полям структур по указателю? - C++
Ребята подскажите как объявить динамический массив структур, и как выглядит обращение к полям структур по указателю.

Динамический массив структур - C++
Прога почти готова интересует как сделать вот это добавление и удаление элемента из списка?

Динамический массив структур - C++
Здравствуйте. Нужна помощь. Не получается записать данные в массив структур. По логике вроде все правильно. 1. Создаем динамический...

Динамический массив структур - C++
Добрый день. Недавно начал изучать С++. В книге попалась задача в которой требуется сохранение информации в динамически выделяемом массиве...

Динамический массив структур ... - C++
Как создать дин. массив структур....пользователь должен ввести число этих массивов. вот что-то пробовал , но много ошибок выпрыгивает ...

Динамический массив структур - C++
Структура «Сотрудник» хранит имя, должность и возраст сотрудника. Структура «Компания» хранит название и массив сотрудников. Программа...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
11.05.2012, 21:43 #2
Цитата Сообщение от axss Посмотреть сообщение
scanf("%d",&n);
klass s[n];
Это не динамический массив, а массив переменной длины(для C++ эта возможность не является стандартной и поддерживается, насколько мне известно, только gcc\MinGW). Динамический массив создаётся с помощью ключевого слова new
C++
1
klass* s = new klass[n];
и удаляется с помощью ключевого слова delete
C++
1
delete[] s;
Цитата Сообщение от axss Посмотреть сообщение
24|error: invalid array assignment|
В С++ нельзя присваивать массивы друг другу, если вам необходимо скопировать строки используйте strcpy
C++
1
2
3
4
5
6
void change(klass* s)
{
   ...
   strcpy(s[k].k[l], v);
   ...
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2012, 21:43
Привет! Вот еще темы с ответами:

Динамический массив структур - C++
Помогите пожалуйста с заданием Создать динамический массив структур (не менее 10 записей) со следующими полями: -шифр поезда -пункт...

Динамический массив структур - C++
Нужно создать базу данных библиотеки состоящую из структур: книга, автор, количество читателей взявших эту книгу. Реализовать функции:...

Динамический массив структур С++ - C++
Мне нужно сделать добавление экземпляра структуры в массив. Для этого нужно расширить динамический массив, я нашел для этого метод...

Динамический массив структур - C++
Создаю структуру, выделяю память под указатель на массив таких структур, размер задается при вводе. #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru