Вторник, 25 июля 2017, 01:28

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Страница 77 из 77«12757677
Модератор форума: Saitei 
Форум игроделов » Программирование » C/C++ » Вопрос-Ответ (C++) (Вопросы по С++ задаём здесь.)
Вопрос-Ответ (C++)
KornivalДата: Воскресенье, 04 сентября 2011, 19:10 | Сообщение # 1
The Witcher
Сейчас нет на сайте
Чтобы не создавать отдельную тему на каждый глупый вопрос, предлагаю задавать их здесь.

Saitei: все вопросы по С задаём в теме Вопрос-Ответ (С). Благодарю за внимание!
VuvkДата: Четверг, 20 июля 2017, 11:19 | Сообщение # 1521
постоянный участник
Сейчас нет на сайте
Цитата FlyOfFly ()
в заголовочный файлах F1, есть подключен заголовочный файл F2, в которых подключен заголовочный файл F1, если в этом, то какой вариант - исправление?

попробовать выбросить #pragma once и использовать include guards
Код

#ifndef _F1_H
#define _F1_H
// содержимое хедэра
#endif // _F1_H


Ищу левелдизайнера/маппера
Мой блог
Мой канал на Youtube
Lokemundux Desco Domus Shaantitus. Caecux Vorox Acerbus-shatruex! Crudux Cruo!


Сообщение отредактировал Vuvk - Четверг, 20 июля 2017, 11:28
puksusДата: Четверг, 20 июля 2017, 12:03 | Сообщение # 1522
участник
Сейчас нет на сайте
FlyOfFly, а зачем вам 2 класса, нельзя ли провернуть так, чтобы класс хранил указатели на элементы своего же класса?

Ну а если по теме - то может помочь <не помню точно как называется> предобъявление класса. То есть в файле GameComponent.h удалите строчку
#include "GameObject.h"
и добавьте вместо неё
class GameObject;
это даст компилятору инфу о том, что класс геймобджект определён в ином месте, при этом взаимное подключение исчезнет. Но не гарантирую, что поможет. Да и потом могут быть проблемы. Я с таким уже сталкивался, когда писал игру на 12 гамирон. Из-за этого дела потом вылезали очень непонятные ошибки в непонятных местах, когда я что-то где-то чуть-чуть менял. Поэтому следующем проекте просто сделал всё так, чтобы не было нужды в подобных вещах.
Ну а ещё, старайтесь в h файлах подключать по-минимуму, а основные подключения делать в cpp файлах.
SaiteiДата: Пятница, 21 июля 2017, 11:09 | Сообщение # 1523
старожил
Сейчас нет на сайте
Цитата puksus ()
GameComponent.h удалите строчку
#include "GameObject.h"
и добавьте вместо неё
class GameObject;
это даст компилятору инфу о том, что класс геймобджект определён в ином месте,

+

Это называется forward declaration: https://en.wikipedia.org/wiki/Forward_declaration

На место всех include подставляются исходные коды. В твоем же случае получается своего рода рекурсия, компилятор просто не знает что делать. Поэтому действительно надо просто сослаться на класс с таким-то названием, но не подключать его файл описания

P.S. это работает с ссылками и указателями на класс, а вот просто инстансировать объект ты не сможешь:
Код
class Foo;
...
Foo a; //wrong! Error!
FlyOfFlyДата: Суббота, 22 июля 2017, 14:41 | Сообщение # 1524
постоянный участник
Сейчас нет на сайте
Есть массив с указателями на функциями и двухмерный массив, который хранит аргументы(то-есть на каждую функцию - своя строка массива). Я не знаю какие функции храниться и сколько аргументов в массиве, можно ли как-то вызвать функцию такую?По логике, это должно делаться через asm, то-есть отправляем аргументы через push и потом вызываем функции через call, насколько я знаю в vs можно вызвать asm код, вопрос: как передать аргументы и вызвать функцию через asm-вставки

Добавлено (22 июля 2017, 14:41)
---------------------------------------------
Так, как отправить аргументы - разобрался, другой вопрос: как через asm вызвать функцию объекта


Вам нужен программист или помощью с частью проекта или задание на C# или Java, тогда я тот кто вам нужен. Вот мое резюме
Если вам нужна команда, то Conveyor ideas, готова выполнять ваши заказы по созданию пиксель-арт игр.


Сообщение отредактировал FlyOfFly - Суббота, 22 июля 2017, 14:29
Форум игроделов » Программирование » C/C++ » Вопрос-Ответ (C++) (Вопросы по С++ задаём здесь.)
Страница 77 из 77«12757677
Поиск:

Все права сохранены. GcUp.ru © 2008-2017 Рейтинг