Суть такова:
Есть некий указатель на некий объект. Назовем его objPtr1.
Требуется создать еще один указатель, обзовем его objPtr2, который указывает туда же.
Куда конкретно - неизвестно.
Нижайше прошу помочь мне с этой маленькой проблемкой.
Примечание:
к сожалению, очевидный способ - objPtr2 = objPtr1; не канает.
не спрашивайте, почему.
компилятор хавает, но на деле творится немного не то, что надо.
Примечание:
>Куда конкретно - неизвестно.
Это не шутка, действительно неизвестно.
За более подробный ответ был бы премного благодарен.
Примечание:
Ну видите ли, скажем так, objPtr2 каким-то образом обрабатывается. Передается функциям, требующим аргумент конкретно TObj*. А не TObj**. Суть в том, чтобы обрабатывая objPtr1 в месте, в котором обработка objPtr2 недоступна (конкретный случай близок к ситуации, когда функция вызывает функцию, та вызывает.. /*рекурсия пока не надоест*/ ..функцию, в которой нужно использовать конкретный objPtr типа TObj*. А мне ой как не хочется тащить за собой в каждую из функций этот аргумент. Оочень не хочется.
Примечание:
Щас сгенерирую пример, больше похожий на правду.
Если это поможет, конкретно - я работаю с SDL, SDL_Surface - поверхность.
Значит, суть такова:
//есть некий класс
class YOBAImage
{public:
SDL_Surface *Img_src;
YOBAImage(const char* lbl, SDL_Rect take_to, SDL_Surface *Img)
{
Img_src = Img;
DrawImage(take_to,lbl,Img);
}
void DrawImage(SDL_Rect to, const char* lbl, SDL_Surface *Img)
{
...
SDL_BlitSurface(Img,NULL,screen,&to);/*вот здесь ахтунг. screen - тот самый SDL_Surface*, куда нужно все это пнуть. здесь все несколько упрощено, в реальности тащится много-много функций подряд. не хочу я им всем совать в аргументы по сути одно и то же. По другому до screen не добраться, ибо класс - в заднице, а screen - не глобал.*/
}
};
Примечание:
SDL_Surface *screen = SDL_SetVideoMode(1024, 768, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
вот так.
саму функцию SDL_SetVideoMode сейчас раскопал в исходниках SDL. Майндфак еще тот.
Примечание:
в этом вся суть.
мне нужно привязать указатель к другому так, чтобы я мог свободно изменять каждый из них. и при этом все изменения передавались второму.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.