std::vector
вместо голых массивов. Голый массив не дает о себе никакой информации.struct Layer final
{
std::vector<double> neurons;
std::vector<double> biases;
std::vector<double> weights;
size_t size = 0;
szie_t next_size = 0;
Layer() = default;
Layer( int size,int nextSize );
double& AccessWeight(const size_t x, const size_t y);
const double GetWeight(const size_t x, const size_t y) const;
};
class
если ты не пользуешься областями видимости. Тебе не нужен struct
если ты областями видимости пользуешься. double** weights
? Хранить веса в массиве массивов - это крайне неэффективно для работы нейросети. У тебя строки весов могут быть разного размера?layers[k].weights = weightsNew;
, перед которым идет delete[]layers[k].weights;
, а где у тебя удаляются строки layers[k].weights
, что ранее были выделены в этом цикле?for (int i = 0; i < left->size; i++) {
weightsNew[i] = new double[right->size];
}
std::wstring wcharacter;
wcharacter.push_back( character );
std::wstring
является wchar_t
. Зачем тебе конвертер из utf-8? Ты можешь просто выполнить std::wstring wcharacter = character
. case
внутри switch
используются как метки, на которые переводится исполнение кода по результатам операции в скобках switch
. На default
исполнение прыгает только тогда, когда результат операции в switch
не удается сопоставить ни с одной меткой case
. [Д]case
или default
исполнение идет по всему коду пока не встретит break
, return
или пока код не кончится. Проверка условия и выбор метки для прыжка делается только во время вычисления операции switch
, после прыжка на метку исполнение больше не различает никаких меток и идет до конца кода. #include glut.h
#include
требует указания заголовка или в рамках <>
, или в рамках ""
.#include <glut.h>
, если glut находится по относительному пути от текущего модуля трансляции и не вписан в include path, то надо использовать #include "glut.h"
.class root : public Base
, т.к. тебе нужно дать пользователю типа возможность преобразования, а потом Base *b = Root;
. Все. Печаль в том, что даже если закомментировать эту функцию - ошибка остаётся.
isWow64
уже не будет если ты код закомментируешь так же, как показал. Ошибка будет другая. И тебе надо ее во всех деталях передать.
Не забывай про П3.1 регламента работы сервиса.