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

При инициализации массива в отладке не попадаю в обработчик, поясните почему? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Простейший калькулятор http://www.cyberforum.ru/cpp-beginners/thread1789442.html
Всем привет :) Это одна из самых первых моим программ в C++. Решил попробовать простейший калькулятор сделать с 4 функциями. Почему-то программа ругается на переменную "c", хотя вроде как под...
C++ Getch - что не так делаю? Всем привет. Не могу понять почему не выполняется getch() после верного ввода пункта. int name ::menu() { cout << "Выберите действие: " << endl; cout << " 1. Запись данных в файл " << endl;... http://www.cyberforum.ru/cpp-beginners/thread1789438.html
Смещение курсора по консоли C++
Всем привет! Я работаю в программе dev c++. И мне нужна помощь,чтобы определенный символ я смог переместить в любое место консоли стрелочками. Буду благодарен за сайт, где это объясняется, и не...
Найти минимум в массиве используя наиболее оптимальный алгоритм C++
Дан массив чисел, надо найти минимум. Препод сказал - дополнительное задание: предложить наиболее оптимальный алгоритм, написать код, реализующий его идею, и обосновать его теоретически.
C++ Как передать указатель на файл в функцию? http://www.cyberforum.ru/cpp-beginners/thread1789388.html
Здравствуй по ходу написания программы столкнулся с вопросом как передать указатель на тип файл в функцию. напишите код. Спасибо
C++ MinGW после обновления выдает ошибку "отсутствует libgcc_s_dw2-1.dll" Здравствуйте! В данный момент я изучаю язык C++ и прохожу различные курсы, которые подразумевают написание маленьких программ. Где-то год назад устанавливал компилятор MingW. Все отлично работало и... подробнее

Показать сообщение отдельно
hoggy
6673 / 2859 / 491
Регистрация: 15.11.2014
Сообщений: 6,381
Завершенные тесты: 1
04.08.2016, 12:16
Цитата Сообщение от mxs89 Посмотреть сообщение
поясните почему?
потому что в строке:
C++
1
*(elements_ + i) = value;
вы объекту типа Integer пытаетесь присвоить значение Integer

однако, у вас нет operator= который принимал бы объект типа Integer

кстати, вас не смущает, что компиляторы ворнинги кидают на ваш код?
source_file.cpp: In instantiation of ‘Array<_Ty>::Array(const size_t&, const _Ty&) [with _Ty = Integer; size_t = long unsigned int]’:
/usr/include/c++/4.9/bits/unique_ptr.h:765:69: required from ‘typename std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& ...) [with _Tp = Array<Integer>; _Args = {int, Integer&}; typename std::_MakeUniq<_Tp>::__single_object = std::unique_ptr<Array<Integer>, std::default_delete<Array<Integer> > >]’
source_file.cpp:57:56: required from here
source_file.cpp:47:12: warning: ‘Array<Integer>::size_’ will be initialized after [-Wreorder]
я б на вашем месте поменял местами:

C++
1
2
3
private:
    _Ty *elements_;
    size_t size_;
на:

C++
1
2
3
private:
    size_t size_;
    _Ty *elements_;
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru