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

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

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

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

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

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

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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка со структурой - "использована неинициализированная локальная переменная" (C++):

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

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

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

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

Warning C4700: использована неинициализированная локальная переменная "matrix" - C++
тогда еще 1 вопрос: при попытке реализовать чтение из файла в виде функции: #include &lt;fstream&gt; #include &lt;iostream&gt; #include...

"Использована неинициализированная локальная переменная" при работе с указателем - C++
использована неинициализированная локальная переменная ukaz !!!! Прошу посмотрите на функцию perevod. Почему мой указатель на структуру...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
09.11.2012, 05:03 #2
вместо указателей на char используйте string, и все будет работать.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 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
Во я дурак. Все заработало. Спасибо большое!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2012, 05:06
Привет! Вот еще темы с ответами:

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

Как исправить: warning C4700: использована неинициализированная локальная переменная "a"? - C++
Задача: Код:#include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; #define M 10 #define N 10 #define MAX 50

использована неинициализированная локальная переменная "info" - C++
#include &lt;iostream&gt; using namespace std; int main(){ enum paytype{CARD,CHECK}; struct{ paytype ptype; union { char...

Найти причины и способы исправления ошибки C4700: "использована неинициализированная локальная переменная" - C++
#include&lt;iostream&gt; #include&lt;iomanip&gt; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;stdlib.h&gt; #include&lt;string.h&gt; using namespace...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.11.2012, 05:06
Ответ Создать тему
Опции темы

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