Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
KChernenko
0 / 0 / 1
Регистрация: 13.01.2012
Сообщений: 28
#1

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

09.11.2012, 04:50. Просмотров 1604. Ответов 3
Метки нет (Все метки)

Здравствуйте! Есть структура, сначала мы создаем объект и инициализируем его, потом создаем новый объект, но делаем его пустым, чтобы забить его данными, но при компиляции происходит ошибка такого рода: "использована неинициализированная локальная переменная".

http://www.cyberforum.ru/cpp-beginners/thread2258250.html
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={};
Программа запускалась, но выдавала вот такое сообщение об ошибке:
0
Миниатюры
Ошибка со структурой - "использована неинициализированная локальная переменная"  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 04:50
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ошибка со структурой - "использована неинициализированная локальная переменная" (C++):

Ошибка "error C4700: использована неинициализированная локальная переменная"
Здравствуйте! Есть задача: Дана вещественная матрица размерностью 8x8....

Функция PTinqpoint() и ошибка "Использована неинициализированная локальная переменная"
Добрый день, возникает проблема с реализацией функции. Документация по ней:...

Ошибка в коде: "использована неинициализированная локальная переменная"
Я пытаюсь сделать программу, которая меняет отрицательный элемент с конца на...

Ошибка "Использована неинициализированная локальная переменная"
При запуске программы,выводит ошибку. Ошибка 1 error C4700: использована...

Ошибка: "использована неинициализированная локальная переменная j"
сделал код ,который вводит матрицу из файла. После того как выведет матрицу на...

3
StanislavUA
44 / 44 / 14
Регистрация: 27.04.2011
Сообщений: 163
09.11.2012, 05:03 #2
вместо указателей на char используйте string, и все будет работать.
1
Kuzia domovenok
2206 / 1975 / 439
Регистрация: 25.03.2012
Сообщений: 6,919
Записей в блоге: 1
09.11.2012, 05:04 #3
Цитата Сообщение от KChernenko Посмотреть сообщение
char *name;
* * char *s_name;
Ты думаешь строка какой длины туда поместится? Правильно! Никакой. Это указатель. Память не выделена.

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

"Использована неинициализированная локальная переменная" при работе с указателем
использована неинициализированная локальная переменная ukaz !!!! Прошу...

Warning C4700: использована неинициализированная локальная переменная "matrix"
тогда еще 1 вопрос: при попытке реализовать чтение из файла в виде функции:...

Error C4700: использована неинициализированная локальная переменная "k"
Начал программировать в С++ недавно, решил набить программу по нахождению...

Чтение из реестра: "использована неинициализированная локальная переменная"
Объясните, как правильно объявить переменную, в которую будет выполнена запись...


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

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

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