0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 114
|
|
1 | |
SFML. Вектора, массивы, классы, объекты01.11.2017, 21:59. Показов 5531. Ответов 67
Доброго времени суток форумчане!
Возникла проблема с векторами. но понимаю как работают эти самые векторы. Задача такова, есть абстрактный класс Object с какими-то функциями(это не столь важно). Так же есть дочерние классы такие как Circle и Circle2. В главной функции создаются новые объекты дочерних классов и заносятся в массив. НО когда хочу сделать через вектор то выдаёт ошибку: "error: 'vector' does not name a type". так же по мере решения это проблемы будет ещё несколько вопросов таких как: "Как реализовать уничтожение объектов Массива/Вектора", "Как сделать универсальную функцию определения координат курсора в окне"
0
|
01.11.2017, 21:59 | |
Ответы с готовыми решениями:
67
Не отрисовываются объекты openGL3.0 в SFML Из первых четырех строк массива сформировать четыре новых вектора (одномерные массивы). Для каждого вектора найти сумму Классы и объекты объекты и классы |
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
01.11.2017, 22:05 | 2 |
Ты заголовок подключил?
0
|
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 114
|
|
01.11.2017, 22:10 [ТС] | 3 |
Какой заголовок? Заголовочный файл? Как эти файлы работают я не особо понимаю...
0
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
01.11.2017, 22:44 | 4 |
<vector> подключил?
0
|
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 114
|
|
01.11.2017, 22:45 [ТС] | 5 |
да но не работает...
0
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
01.11.2017, 22:46 | 6 |
Показывай.
0
|
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 114
|
||||||
01.11.2017, 22:49 [ТС] | 7 | |||||
Вот как я создаю вектор
Добавлено через 1 минуту ||=== Build file: "no target" in "no project" (compiler: unknown) ===| |8|warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11| |8|warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11| |13|error: 'vector' does not name a type| ||=== Build failed: 1 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===| Это всё сообщение после сборки...
0
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
01.11.2017, 22:49 | 8 |
std::vector сделай. Если не заработает, значит ты не подключил заголовок.
0
|
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 114
|
||||||
01.11.2017, 22:54 [ТС] | 9 | |||||
Оп... Точно, чего-то не думал что в этом может быть проблема
Добавлено через 55 секунд тогда следующий вопрос Добавлено через 1 минуту Вот часть кода в отдельном файле
0
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
01.11.2017, 22:56 | 10 |
Текст ошибки где?
0
|
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 114
|
||||||||||||||||
01.11.2017, 22:59 [ТС] | 11 | |||||||||||||||
В главном методе создаю окно
0
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
01.11.2017, 23:04 | 12 |
Тип второго параметра не верный. Может, там другой window?
0
|
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 114
|
||||||
01.11.2017, 23:07 [ТС] | 13 | |||||
вот часть кода в Circle2
0
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
01.11.2017, 23:08 | 14 |
Ну так зачем ты двойной указатель передаёшь? Убери амперсанды.
0
|
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 114
|
||||||
01.11.2017, 23:11 [ТС] | 15 | |||||
хорошо но тогда ошибка тоже... сейчас покажу
Добавлено через 1 минуту ||=== Build file: "no target" in "no project" (compiler: unknown) ===| |8|warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11| |8|warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11| ||In function 'int mouse_xy(bool, sf::RenderWindow*)':| ->|5|error: redefinition of 'int mouse_xy(bool, sf::RenderWindow*)'| |5|note: 'int mouse_xy(bool, sf::RenderWindow*)' previously defined here| ||In function 'float distance_to_point(float, float, float, float)':| |17|error: redefinition of 'float distance_to_point(float, float, float, float)'| |17|note: 'float distance_to_point(float, float, float, float)' previously defined here| ||=== Build failed: 2 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===| Добавлено через 1 минуту в условии теперь без амперсантов
0
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
01.11.2017, 23:13 | 16 |
Там же всё написано. Redefenition - ты два раза одну и туже функцию описал, что ли?
0
|
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 114
|
||||||
01.11.2017, 23:21 [ТС] | 17 | |||||
В смысле?
Добавлено через 1 минуту вот
функция возвращающая расстояние между точками - distance_to_point(x1, y1, x2, y2) Возвращает координату по x и y если первый аргумент равен 0 или 1 соответственно - mouse_xy(0, window)
0
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
01.11.2017, 23:22 | 18 |
Вот это у тебя правильно сделано?
https://ru.wikipedia.org/wiki/Include_guard
0
|
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 114
|
||||||||||||||||
01.11.2017, 23:35 [ТС] | 19 | |||||||||||||||
координату курсора мышки относительно окна window *
Добавлено через 2 минуты В файле Cickle2.cpp подключается <Function.cpp> и в Main.cpp Добавлено через 1 минуту Все подключения в Main.cpp
Благодарю за помощь я понял в чём была беда) Добавлено через 41 секунду Теперь меня интересует ещё кое что Добавлено через 3 минуты Вот у меня есть объект Circle & Circle2. В данный момент они сохраняются в массив Object *obj[1]; я хочу передать под вектор всё это дело и как я понимаю это выглядит так: vector<Object*> obj; И вот как например удалять созданные объекты которые "сохраняются" в этот вектор и как и него добавлять новые объекты Circle и Circle2?
0
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
01.11.2017, 23:40 | 20 |
Если там указатели, просто delete и присваиваешь другой. От массива не отличается.
0
|
01.11.2017, 23:40 | |
01.11.2017, 23:40 | |
Помогаю со студенческими работами здесь
20
Классы, объекты Классы и объекты КЛАССЫ И ОБЪЕКТЫ Классы и объекты Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как создавать приложения для iOS/iPhone
InfoMaster 12.01.2025
Введение в разработку iOS-приложений
Разработка приложений для iOS открывает огромные возможности в мире мобильных технологий. С каждым годом количество пользователей iPhone и iPad растет,. . .
|
Как использовать Kotlin в Android разработке
InfoMaster 12.01.2025
Язык программирования Kotlin, разработанный компанией JetBrains, стал неотъемлемой частью современного мира Android-разработки. Первоначально представленный в 2011 году, Kotlin был официально. . .
|
Использование Go (Golang) в backend разработке
InfoMaster 12.01.2025
Язык программирования Go (Golang), разработанный компанией Google, стал важным инструментом для разработчиков программного обеспечения, особенно в области бэкенд-разработки. С момента своего. . .
|
Как работать с Laravel в PHP
InfoMaster 12.01.2025
Введение в Laravel
Laravel представляет собой современный PHP-фреймворк с открытым исходным кодом, который значительно упрощает и ускоряет процесс разработки веб-приложений. Этот фреймворк был. . .
|
Как программировать под HCL Notes и создавать свои продукты на ее основе
InfoMaster 11.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой мощную платформу для разработки корпоративных приложений, которая сочетает в себе функции электронной почты, календаря,. . .
|
Как работать с SVN (Subversion)
InfoMaster 11.01.2025
Введение
Система контроля версий является неотъемлемой частью современного процесса разработки программного обеспечения. Она обеспечивает управление изменениями в коде, позволяет отслеживать. . .
|
Использование GraphQL в JavaScript
InfoMaster 11.01.2025
Введение в GraphQL и его преимущества
В современной разработке веб-приложений эффективный обмен данными между клиентом и сервером играет ключевую роль. GraphQL представляет собой язык запросов и. . .
|
Администрирование Git, продвинутые техники работы с Git
InfoMaster 11.01.2025
Основы управления репозиторием
Эффективное управление Git-репозиторием требует глубокого понимания механизмов контроля доступа и инструментов администрирования. Рассмотрим ключевые аспекты. . .
|
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
|
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows
Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
|
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
|
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
|