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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 87, средняя оценка - 4.74
zenit2020
Сообщений: n/a
#1

использована неинициализированная локальная переменная "info" - C++

24.09.2010, 15:55. Просмотров 12194. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main(){
    enum paytype{CARD,CHECK};
    struct{
    paytype ptype;
    union {
            char card[25];
            long check;
    };
    }info;
    switch (info.ptype){
        case CARD: cout << "Оплата по карте: " << info.card; break;
        case CHECK: cout << "Оплата по чеком: "<< info.check; break;
    }
    return 0;
}
Как избавиться от этой ошибки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2010, 15:55     использована неинициализированная локальная переменная "info"
Посмотрите здесь:

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

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

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

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

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

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

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

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

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

Найти причины и способы исправления ошибки 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...

Использована неинициализированная локальная переменная - C++
Почему не работает программа #include &lt;iostream&gt; #include &lt;cstring&gt; using std::cin; using std::cout; using std::endl; int...

Использована неинициализированная локальная переменная - C++
Здравствуйте. Подскажите, пожалуйста, в чем тут ошибка? Вроде бы все правильно. Создаются переменная и указатель на адрес, где хранится...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
24.09.2010, 15:58     использована неинициализированная локальная переменная "info" #2
Как избавиться от этой ошибки?
Проинициализировать переменную.
LineStown
66 / 66 / 3
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
24.09.2010, 18:43     использована неинициализированная локальная переменная "info" #3
C++
1
switch (info.ptype){
Перед тем как сравнивать info с чем-то, info нужно присвоить значение (хоть нулевое/пустое)
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
25.09.2010, 05:12     использована неинициализированная локальная переменная "info" #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main(void)
{
    enum paytype {CARD, CHECK};
 
    struct {
        paytype ptype;
        union {
            char card[25];
            long check;
        };
    } info = { CARD, "abcd" };
    
    if (info.ptype == CARD)
        std::cout << info.card << std::endl;
    
    return 0;
}
zenit2020
Сообщений: n/a
25.09.2010, 14:13     использована неинициализированная локальная переменная "info" #5
Спасибо за помощь
Recewer
1 / 1 / 0
Регистрация: 11.04.2013
Сообщений: 10
20.11.2013, 23:29     использована неинициализированная локальная переменная "info" #6
Спасибо за подсказку. Удаление сделал, добавление еще проще. Вот код с удалением:
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int sz;
    cout << "Size = ";
    cin >> sz;
    int **arr;
    arr = new int*[sz];
    int k = 0;
    cout << "Elements" << endl;
    for (int i=0; i<sz; i++){
        cin >> k;
        arr[i] = new int(k);
    }
    int del;
    for (int i=0; i<sz; i++)
        cout << arr[i] << "  ";
    cout << "Delete: ";
    cin >> del;
 
//для удаления используем дополнительный массив:
    int **tmp;
    tmp = new int*[sz];
    for (int i=0;i<sz;i++)
        tmp [i] = arr[i];
    delete [] arr; //очищаем основной массив
    sz -= 1;
    arr = new int*[sz]; // создаем основной массив с размером на 1 меньше
    int I = 0; // дополнительный указатель на итерацию для элементов основного массива
    for (int i=0; i<sz+1; i++)
        if (i != del){ //пропускаем удаленный элемент
            arr[I] = tmp[i]; //итерации для основного и доп. массивов - разные
            I++;
        }
 
 
    for (int i=0; i<sz; i++) // вывод
        cout << arr[i] << "  ";
    system("pause");
    return 0;
}
Yandex
Объявления
20.11.2013, 23:29     использована неинициализированная локальная переменная "info"
Ответ Создать тему
Опции темы

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