С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Ошибка при присвоении значения элементу массива в функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить количество элементов массива, лежащих в диапазоне от А до В http://www.cyberforum.ru/cpp-beginners/thread744213.html
В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1) количество элементов массива, лежащих в диапазоне от А до В. 2) сумму элементов массива, расположенных после максимального...
C++ Не иницилизированна переменная Помогите пожалуйста, с исправлением ошибки, не понимаю что не так. #include <iostream> using namespace std; void error(FILE *fp,char *filename); http://www.cyberforum.ru/cpp-beginners/thread744209.html
Массив списков, как создать? C++
У меня есть структура такого типа class Lancuch { public: char cos; Lancuch * nastepny; }; И массив структур. Lancuch * elem= new Lancuch; А как для каждого элемента массива создать...
C++ Структуры. Присвоить значение переменной a и всем объектам, с ней связанным
Присвоить значение переменной a и всем объектам, с ней связанным: struct b { double ∗q; int ∗ (∗p); }; struct b ∗∗a; Прошу помочь, если не кодом , то хоть идеями и подсказками, возможно...
C++ Количество различных элементов в монотонном массиве http://www.cyberforum.ru/cpp-beginners/thread744174.html
Формат входных данных Сначала задано число N - количество элементов в массиве (N не превосходит 100). Далее через пробел записаны N целых чисел - элементы массива (числа типа int/longint)....
C++ Выведите все элементы массива с четными номерами Дан массив целых чисел. Нумерация элементов начинается с 0. Выведите все элементы массива с четными номерами. Формат входных данных Сначала задано число N - количество элементов в массиве, N100.... подробнее

Показать сообщение отдельно
MayaNash
1285 / 453 / 47
Регистрация: 24.08.2011
Сообщений: 2,214

Ошибка при присвоении значения элементу массива в функции - C++

24.12.2012, 13:21. Просмотров 434. Ответов 7
Метки (Все метки)

Есть такая вот структура:
C++
1
2
3
4
5
6
struct stantsia
{
        string st;
        int hPrib,mPrib,
        hOtb,mOtb;
};
Есть объявление массива:
C++
1
stantsia a[maxn];
И этот массив должен меняться в этой функции:
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
void readAll(int *vsego, stantsia a[maxn])
{
    ifstream f; f.open("C:\timetable.txt");
    string s;
    char ch;
 
    *vsego = 0;
    while (!f.eof())
    {
        vsego++;
        cout << "ok\n"; _getch();
        a[*vsego].st = "";
        cout << "ok\n"; _getch();
 
        do
        {
            f >> ch;
            a[*vsego].st = a[*vsego].st + ch;
        }
        while (ch != ' ');
 
        if (scanf_s("%d:%d %d:%d%[^\n]",&a[*vsego].hPrib,&a[*vsego].mPrib,&a[*vsego].hOtb,&a[*vsego].mOtb) < 4 && !f.eof())
            oshibka();
    }
 
    f.close();
    return;
}
Однако в этой строке
C++
1
a[*vsego].st = "";
почему-то происходит ошибка "Нарушение прав доступа при чтении <адрес>". Почему?
P.S. При компиляции никаких ошибок нет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.