Ошибка C4700 VS 2019

149
06 августа 2021, 03:40

Ошибка Severity Code Description Project File Line Suppression State Error C4700 uninitialized local variable 'tmp_double_vector' used isdt Isodata.cpp 186

Мой код

k << 1;
        pdn = k * (k - 1) / 2;
        if ((cl_m == malloc(k * sizeof(int))) == NULL)
            error("bad memory allocation");
        if ((cl_d == malloc(k * sizeof(double))) == NULL)
            error("bad memory allocation");
        if ((cl_pd == malloc(pdn * sizeof(double))) == NULL)
            error("bad memory allocation");
        if ((cl_pi == malloc(pdn * sizeof(int))) == NULL)
            error("bad memory allocation");
        if ((cl_pj == malloc(pdn * sizeof(int))) == NULL)
            error("bad memory allocation");
        if ((cl_ms == malloc(k * sizeof(double))) == NULL)
            error("bad memory allocation");
        if ((cl_msc == malloc(k * sizeof(int))) == NULL)
            error("bad memory allocation");
        if ((cl_s == malloc(k * sizeof(double*))) == NULL)
            error("bad memory allocation");
        for (i = 0; i < k; i++)
            if ((cl_s[i] == malloc(m * sizeof(double))) == NULL)
                error("bad memory allocation");
        if ((tmp_double_vector == malloc(k * sizeof(double))) == NULL)
            error("bad memory allocation");
        if ((tmp_int_vector == malloc(k * sizeof(int))) == NULL)
            error("bad memory allocation");
        k >> 1;
`````
Answer 1

Вы везде вместо присвоения написали проверку на равенство...

Как я понимаю, вы хотели получить

if ((cl_s = malloc(k * sizeof(double*))) == NULL)
...
if ((tmp_double_vector = malloc(k * sizeof(double))) == NULL)

Забавно, что обычно делают наоборот - вместо проверки пишут один символ =, получая присвоение...

READ ALSO
Существует ли в C++ макрос с именем класса?

Существует ли в C++ макрос с именем класса?

Пишу самописный модуль для ведения журнала работы программыДля упрощения последующего анализа логов хочу сделать разбивку сообщений по группам/модулям,...

164
No matching function to call to std::swap - std::swap и QCharRef

No matching function to call to std::swap - std::swap и QCharRef

Нужно поменять местами последний и предпоследний символы QStringРешил делать через std::swap():

381
Ошибка инициализации в конструкторе C26495

Ошибка инициализации в конструкторе C26495

Пишет Предупреждение C26495 Variable 'Mat::temp' is uninitializedAlways initialize a member variable (type

431