Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Упростить выражение https://www.cyberforum.ru/ cpp-beginners/ thread2123799.html
Подскажите, пожалуйста, как упростить данное выражение? (x=y)?x:y
Разработать оконное приложение, которое позволяет рисовать шестиугольник по точкам C++
Разработать оконное приложение, которое позволяет рисовать шестиугольник по точкам, определяемым кликами мыши по экрану. Для отрисовки фигуры пользователь должен отметить 6 вершин в окне. Стиль линии...
C++ Рекурсивная функция
Как написать рекурсивную функцию для реализации рекуррентной последовательности? В основной программе вывести первые n членов последовательности (n вводится с клавиатуры) -1,3,-5,7,-9
C++ Числа в массиве "змейкой" Собственно задание: Код, который написан мной: int main(){ int n; cin >> n; int **a = new int*; for(int i = 0; i < n; ++i) a = new int; for (int j = 0; j<n; j += 2) { https://www.cyberforum.ru/ cpp-beginners/ thread2123779.html
C++ Бесконечная сумма с точностью Е (while do/while) SOS SOS https://www.cyberforum.ru/ cpp-beginners/ thread2123767.html
E=0.0001 Вот мои жалкие потуги. #include "stdafx.h" #include <iostream> #include <locale> #include <math.h> using namespace std;
C++ Объяснить код шейдера
ВОТ КОД ШЕЙДЕРА: #ifdef GL_ES precision mediump float; #endif #extension GL_OES_standard_derivatives : enable uniform float time; uniform vec2 mouse;
C++ Оптимизация времени выполнения
Здравствуйте! Спасибо что заглянули в тему :yes: Возник вопрос, который меня весьма озадачил: резкое падение производительности при использовании цикла на 3 круга. В задаче идет сравнение...
C++ Функции Задача 2.. Функции пользователя. Создать и вывести массив А, элементы которого описаны формулой am,n= 2fi+16(n), m, n = 1 ... 4, i - номер варианта. Составить функцию пользователя для поиска данных... https://www.cyberforum.ru/ cpp-beginners/ thread2123721.html
C++ Задача про покер https://www.cyberforum.ru/ cpp-beginners/ thread2123716.html
На сайте e-olymp проходит 97%. Где ошибка? Пишет, что третий тест не проходит, хотя у меня все работает. https://www.e-olymp.com/ru/submissions/3711034 Даны 5 целых чисел. Среди них: если...
C++ Функции Задача 1. Функции пользователя. Создать и вывести массив y с элементами y= f(k), где k = 1-12. Для расчета y создать функцию пользователя. Составить еще одну функцию пользователя для поиска данных в... https://www.cyberforum.ru/ cpp-beginners/ thread2123713.html
Велосипедист...
349 / 216 / 73
Регистрация: 15.12.2015
Сообщений: 785
18.11.2017, 00:58 0

Конструктор класса, конструктор копирования запускается не тот который нужен

18.11.2017, 00:58. Просмотров 522. Ответов 5
Метки (Все метки)

Ответ

Врать не буду. Код ужасен, непонятен... Там дело даже не в
Цитата Сообщение от veles123 Посмотреть сообщение
Компилятор жалуется при вызове
C++
1
2
int *b = 0;
Neuron *n = new Neuron(b);
---- ----
Цитата Сообщение от veles123 Посмотреть сообщение
Теперь проблема здесь
C++
1
2
3
4
5
6
7
8
9
10
11
12
Neuron::Neuron(/*const int &*/int iType_activation_funk)    {
    this->iType_act = iType_activation_funk;
    switch (iType_activation_funk) {
    case 0: this->dfActivate = &this->dfLineFunc;   break;
    case 1: this->dfActivate = &this->dfLineFuncWithSat;    break;
    case 2: this->dfActivate = &this->dfStepFunc;   break;
    case 3: this->dfActivate = &this->dfLogisticFunc;   break;
    case 4: this->dfActivate = &this->dfHyperbolicTangent;  break;
    default: this->dfActivate = &this->dfLineFunc;  break;
    }
 
}
Конечно здесь проблема... Почитайте хотя бы про указатели на функции. Думаю, оно должно было выглядеть так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
Neuron::Neuron(int iType_activation_funk)   {
    this->iType_act = iType_activation_funk;
    switch (iType_activation_funk) {
    case 0: this->dfActivate = dfLineFunc; break;
    case 1: this->dfActivate = dfLineFuncWithSat;  break;
    case 2: this->dfActivate = dfStepFunc; break;
    case 3: this->dfActivate = dfLogisticFunc; break;
    case 4: this->dfActivate = dfHyperbolicTangent;    break;
    default: this->dfActivate = dfLineFunc;    break;
    }
 
}
---- ----
Вот это вот вообще непонятно:
Цитата Сообщение от veles123 Посмотреть сообщение
C++
1
this->t = n->t;
Непонятно что такое t и где оно...
---- ----
Тут тоже:
Цитата Сообщение от veles123 Посмотреть сообщение
C++
1
2
3
4
5
template <typename tInnerInActivateFunc>
// линейная передаточная функция
double Neuron::dfLineFunc(tInnerInActivateFunc X) {
    return X* this->t;
}
---- -----
Цитата Сообщение от veles123 Посмотреть сообщение
C++
1
2
3
4
5
6
7
template <typename tInnerInActivateFunc>
// линейная с насыщением
double Neuron::dfLineFuncWithSat(tInnerInActivateFunc X) {
    if (x <= 0) return 0;
    else if (x >= 1) return 1;
    else return x;
}
Тут вообще x не объявлена.
---- ----
Ну и так далее... Кстати, в main.cpp даже main-функция не определена)
В общем... Пройдите обучающий курс по основам C++ заново.

Вернуться к обсуждению:
Конструктор класса, конструктор копирования запускается не тот который нужен
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2017, 00:58
Готовые ответы и решения:

Не могу сделать чтобы класс содержал основной конструктор и конструктор копирования
Разработать класс ThreeAngle для работы с плоскими треугольниками. В качестве членов-данных...

Не могу правильно сделать конструктор и конструктор копирования и принадлежность точки с заданными координатами треугольнику
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include...

Конструктор копирования шаблонного класса
Всем доброго времени суток! Язык С++ изучаю относительно недавно и столкнулся с задачей, которую не...

Создать конструктор копирования класса
Помогите создать конструктор копирования класса. Мне надо чтоб я в основной программе нажимал...

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