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

431
06 августа 2021, 02:30
Mat::Mat() {
int a1[3][3] = {
    { 0,0,0 },
    { 0,0,0 },
    { 0,0,0 }
};
int a2[3][3] = {
    { 0,0,0 },
    { 0,0,0 },
    { 0,0,0 }
};
int a3[3][3] = {
    { 0,0,0 },
    { 0,0,0 },
    { 0,0,0 }
};
int aa[18] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 };
int n = 0;
int i = 0;
int j = 0;
int temp = 0;
int r = 0;}

Пишет Предупреждение C26495 Variable 'Mat::temp' is uninitialized. Always initialize a member variable (type.6). Lab 1. n 4 c:\users\antgo\source\repos\lab 1. n 4\matr.cpp 7
Предупреждение C26495 Variable 'Mat::a1' is uninitialized. Always initialize a member variable (type.6). Lab 1. n 4 c:\users\antgo\source\repos\lab 1. n 4\matr.cpp 7
Предупреждение C26495 Variable 'Mat::a2' is uninitialized. Always initialize a member variable (type.6). Lab 1. n 4 c:\users\antgo\source\repos\lab 1. n 4\matr.cpp 7
Предупреждение C26495 Variable 'Mat::a3' is uninitialized. Always initialize a member variable (type.6). Lab 1. n 4 c:\users\antgo\source\repos\lab 1. n 4\matr.cpp 7
Предупреждение C26495 Variable 'Mat::aa' is uninitialized. Always initialize a member variable (type.6). Lab 1. n 4 c:\users\antgo\source\repos\lab 1. n 4\matr.cpp 7
Предупреждение C26495 Variable 'Mat::i' is uninitialized. Always initialize a member variable (type.6). Lab 1. n 4 c:\users\antgo\source\repos\lab 1. n 4\matr.cpp 7
Предупреждение C26495 Variable 'Mat::j' is uninitialized. Always initialize a member variable (type.6). Lab 1. n 4 c:\users\antgo\source\repos\lab 1. n 4\matr.cpp 7
Предупреждение C26495 Variable 'Mat::n' is uninitialized. Always initialize a member variable (type.6). Lab 1. n 4 c:\users\antgo\source\repos\lab 1. n 4\matr.cpp 7
Предупреждение C26495 Variable 'Mat::r' is uninitialized. Always initialize a member variable (type.6). Lab 1. n 4 c:\users\antgo\source\repos\lab 1. n 4\matr.cpp 7

Answer 1

Видимо ваш класс Mat содержит массивы и обьекты с такими именами, и вы пытаетесь инициализировать в конструкторе эти члены, но неудачно, так как вы определяете новые обьекты и массивы, придворяя их иммена именем типа. Таким образом оставляете члены неинициализированными. Просто уберите имя типа int и получите присвоение этих обьектов.

a1[3][3] = ...
a2[3][3] = ..
//...    
n = 0;
i = 0;
//...

P.S. Чтобы инициализировать все элементы массива нулем(значением по умолчанию), достаточно инициализировать только первый:

aa[18] = { 0 };
READ ALSO
C++ Поля переменной длины в структурах

C++ Поля переменной длины в структурах

Есть, например, такая структура:

112
Квадратные скобки в HTML

Квадратные скобки в HTML

Столкнулся с такой ситуациейПишу на Блогере статью

312
Как реализовать вывод видеофайла с сервера на сайт в Flask?

Как реализовать вывод видеофайла с сервера на сайт в Flask?

Имеется сервер и видео на немБэкенд представлен библиотекой Flask на Python

224
Построение окружности js

Построение окружности js

написал небольшой скрипт на js в котором небольшой круг описывает собой окружность, но на уровне точки окружности по оси x, круг начинает увеличивать...

239