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

Ошибка со структурой - "использована неинициализированная локальная переменная" - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
KChernenko
0 / 0 / 0
Регистрация: 13.01.2012
Сообщений: 28
09.11.2012, 04:50     Ошибка со структурой - "использована неинициализированная локальная переменная" #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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "stdafx.h"
#include <iostream>
using namespace std;
 
struct student
{
    char *name;
    char *s_name;
    int birth_date;
    int birth_month;
    int birth_year;
    char *fac;
    char *index_group;
    double marks;
};
 
void main()
{    //создаем объект "example" c типом student и инициализируем его при создании 
    student example={"Ivanna", "Petrova", 25, 5, 1993, "DPE (TEF)", "TS-01", 4.7};
    cout<<"____________Student Base List____________\n\n";
    cout<<"Name: "<<example.name<<"\n\n";
    cout<<"Surname: "<<example.s_name<<"\n\n";
    cout<<"Date of birth: "<<example.birth_date<<"\n\n";
    cout<<"Month of birth: "<<example.birth_month<<"\n\n";
    cout<<"Year of birth: "<<example.birth_year<<"\n\n";
    cout<<"Department: "<<example.fac<<"\n\n";
    cout<<"Group: "<<example.index_group<<"\n\n";
    cout<<"Rating: "<<example.marks<<"\n\n";
 
    cout<<"\n\n";
 
    student your_list;
    cout<<"Please, enter information.";
    cout<<"Name: ";
    cin>>your_list.name;//здесь и начинается ошибка 
    cout<<"Surname: ";
    cin>>your_list.s_name;
    cout<<"Date of birth: ";
    cin>>your_list.birth_date;
    cout<<"Month of birth: ";
    cin>>your_list.birth_month;
    cout<<"Year of birth: ";
    cin>>your_list.birth_year;
    cout<<"Department: ";
    cin>>your_list.fac;
    cout<<"Group: ";
    cin>>your_list.index_group;
    cout<<"Rating: ";
    cin>>your_list.marks;
    cout<<"\n\n";
    cout<<"____________Your's Base List____________\n\n";
    cout<<"Name: "<<your_list.name<<"\n\n";
    cout<<"Surname: "<<your_list.s_name<<"\n\n";
    cout<<"Date of birth: "<<your_list.birth_date<<"\n\n";
    cout<<"Month of birth: "<<your_list.birth_month<<"\n\n";
    cout<<"Year of birth: "<<your_list.birth_year<<"\n\n";
    cout<<"Department: "<<your_list.fac<<"\n\n";
    cout<<"Group: "<<your_list.index_group<<"\n\n";
    cout<<"Rating: "<<your_list.marks<<"\n\n";
    cout<<endl;
}
Среда - Visual Studio 2012.
Пробовал записывать и так:
C++
1
student your_list={};
Программа запускалась, но выдавала вот такое сообщение об ошибке:
Миниатюры
Ошибка со структурой - "использована неинициализированная локальная переменная"  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 04:50     Ошибка со структурой - "использована неинициализированная локальная переменная"
Посмотрите здесь:

Warning C4700: использована неинициализированная локальная переменная "matrix" C++
C++ использована неинициализированная локальная переменная "info"
Ошибка в коде: "использована неинициализированная локальная переменная" C++
Функция PTinqpoint() и ошибка "Использована неинициализированная локальная переменная" C++
C++ Error C4700: использована неинициализированная локальная переменная "k"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
StanislavUA
 Аватар для StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
09.11.2012, 05:03     Ошибка со структурой - "использована неинициализированная локальная переменная" #2
вместо указателей на char используйте string, и все будет работать.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
09.11.2012, 05:04     Ошибка со структурой - "использована неинициализированная локальная переменная" #3
Цитата Сообщение от KChernenko Посмотреть сообщение
char *name;
* * char *s_name;
Ты думаешь строка какой длины туда поместится? Правильно! Никакой. Это указатель. Память не выделена.

Добавлено через 1 минуту
Цитата Сообщение от StanislavUA Посмотреть сообщение
вместо указателей на char используйте string, и все будет работать.
Опаздал, блин.
Вообще, если человек изучает Си, полезно поработать с Си-строками, чтобы просто понять, например.
KChernenko
0 / 0 / 0
Регистрация: 13.01.2012
Сообщений: 28
09.11.2012, 05:06  [ТС]     Ошибка со структурой - "использована неинициализированная локальная переменная" #4
Во я дурак. Все заработало. Спасибо большое!
Yandex
Объявления
09.11.2012, 05:06     Ошибка со структурой - "использована неинициализированная локальная переменная"
Ответ Создать тему
Опции темы

Текущее время: 12:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru