Войти
ПрограммированиеФорумОбщее

Подучиться программированию (13 стр)

Страницы: 110 11 12 13 14 15 Следующая »
#180
7:16, 26 мая 2018

RelayKa
> кажется тупые вопросы уже начались
> в общем взяла sfml 2.5.0, создала пустой проект, и кое-как скомпилировала
> это был тот еще челлендж, оказывается нужно прописать пути к include, пути к
> lib, и даже названия конкретных lib (а это аж
> sfml-graphics.lib;sfml-window.lib;sfml-system.lib;sfml-main.lib)
> после этого пустое окошко очищеное черным цветом у меня заработало.
> но потом я решила отрисовку всей графики вынести наружу в функцию, мне
> понадобилось переменную window вынести из main(), а создать потом window у меня
> не получается.
> вот такая ошибка:
sf:RenderWindow window; замени на sf:RenderWindow* window;
window = sf::... на window = new sf
window.close, window.isOpen и тд замени на window->close, window->isOpen и тд
Проблема вот в чем, видимо sf;RenderWindow не поддерживает копирование(а ты именно копируешь сейчас), потом надо превратить window в указатель и инцализировать по нормальному.
При присваивание переменной идёт всегда копирование
При присваивание ссылки идёт именно присваивание ссылки


X x = X(args);//инцализация

X x;//инициализация пустым конструктором
x = X(args);//инициализация и копирование в x
x.method(args);//обращение к методу объекта

X* x;//создание ссылки, которая указывает в пустоту
x = new X(args);//инициализация, получение ссылки и копирование её в x
x->method(args);//обращение к методу объекта


#181
7:22, 26 мая 2018

FlyOfFly
> а ты именно копируешь сейчас
ладно, а почему когда я пишу так:
sf::RenderWindow window = sf::RenderWindow(sf::VideoMode(windowWidth, windowHeight), "City Destroyer", sf::Style::Titlebar | sf::Style::Close);
то все нормально, я так понимаю тут то же самое копирование?
просто стоит убрать объявление наверх, и оно начинает ругаться почему-то
может оно не видит его? хотя вроде наверху объявлено

#182
7:23, 26 мая 2018

RelayKa
>
> sf::RenderWindow window = sf::RenderWindow(sf::VideoMode(windowWidth,
> windowHeight), "City Destroyer", sf::Style::Titlebar | sf::Style::Close);
> то все нормально, я так понимаю тут то же самое копирование?
> просто стоит убрать объявление наверх, и оно начинает ругаться почему-то
> может оно не видит его? хотя вроде наверху объявлено
FlyOfFly
>
> X x = X(args);//инцализация
>
> X x;//инициализация пустым конструктором
> x = X(args);//инициализация и копирование в x
> x.method(args);//обращение к методу объекта
>
> X* x;//создание ссылки, которая указывает в пустоту
> x = new X(args);//инициализация, получение ссылки и копирование её в x
> x->method(args);//обращение к методу объекта
>
>
X x = X(args);//это уже не копирование, а определение, так как происходит первый раз
X x;//тут тоже определение, ну уже неявно и при последующих операция будет копирование, так как определение происходит только первый раз

#183
7:32, 26 мая 2018

FlyOfFly
вроде сработало с new, спасибо
и спасибо за объяснения

#184
7:40, 26 мая 2018

RelayKa
>
> вроде сработало с new, спасибо
> и спасибо за объяснения
Совет, если хочешь больше разобраться, то прочитай Язык программирования C++. Базовый курс. А то, я при объяснениях все упрощаю

#185
7:45, 26 мая 2018

FlyOfFly
> А то, я при объяснениях все упрощаю
я поняла, что упрощаешь
я сейчас тут читаю: https://msdn.microsoft.com/en-us/library/s16xw1a8.aspx
но тут сухая выжимка, и пока на практике не столкнешься со всем этим - не поймешь в чем проблема
я так понимаю у меня не работало, потому что авторы библиотеки специально удалили какой-то конструктор

#186
7:46, 26 мая 2018

RelayKa
>
> я так понимаю у меня не работало, потому что авторы библиотеки специально
> удалили какой-то конструктор
Бинго, конструктор копирование

#187
9:28, 26 мая 2018

RelayKa
Ты на паскале то с указателями работу освоила? Всякие связанные структуры данных реализовывала? Если нет, надо бы потренироваться. В С/С++ без этого вообще никуда, ссылки/указатели там везде, без них ни параметры в функцию не передашь, ни даже текст на экране не напечатаешь.

#188
9:32, 26 мая 2018

Zab
> Ты на паскале то с указателями работу освоила?
Зачем? Тут (обычное для Форума) программирование по принципу "китайской комнаты" - выучивание закорючек и способов их расположения в "программе".

#189
9:33, 26 мая 2018

gudleifr
> Тут (обычное для Форума) программирование по принципу "китайской комнаты" - выучивание закорючек и способов их расположения в "программе".
На С++? Смешно! Бомбу делаем? Взорвать себя и, если повезет, еще кого-нибудь...

#190
9:33, 26 мая 2018

Zab
> Ты на паскале то с указателями работу освоила? Всякие связанные структуры
> данных реализовывала?
вроде да, освоила
делала хеш таблицу на паскале
еще avl дерево делала
это связанные структуры данных?

#191
9:37, 26 мая 2018

RelayKa
> это связанные структуры данных?
Не важно что именно ты делала. Важна тренировка по перекидыванию указателей, понимание что они вообще такое. Не знаю будешь ли ты смеяться, но чуть ли не половина будущих программистов на этом затыкается и программистами в итоге не становятся. Оно может быть непреодолимым барьером, если мозги не под то заточены.

#192
9:51, 26 мая 2018

в общем что-то написала
решила начинать с маленького чего-нибудь
заодно вспомнить си, потому что давно его не использовала

встречайте, микронано игра
нужно самолетиком бомбить здания, самолетик летит все ниже и ниже, пока не врежется в здание, либо пока все задния не разбомбят
CityDestroyer
там архив со скомпилированной программой в exe файле + исходный код
сама скомпилированная программа сразу не запуститься, нужно рядом с программой положить кучу dll от smfl, сами dll можно найти тут:
https://www.sfml-dev.org/files/SFML-2.5.0-windows-vc15-64-bit.zip
я бы их сама положила, но форум разрешает только 1Мб файл прикреплять, а с dll выходило больше 2Мб

в общем код ужасный наверное, но понимания как это правильно сделать у меня нет, поэтому буду рада любым комментариям

#193
9:52, 26 мая 2018

gudleifr
>
> Зачем? Тут (обычное для Форума) программирование по принципу "китайской
> комнаты" - выучивание закорючек и способов их расположения в "программе".
Вуду программирование на C++? Ты в порядке там? Не перекидывай свой способ написание на других

#194
9:53, 26 мая 2018

FlyOfFly
> Ты в порядке там?
Я просто сегодня злой:

+ Показать
Страницы: 110 11 12 13 14 15 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.

Тема закрыта.