Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Был старый код, работает корректно (всё в глобальном пространстве):

// Старый код:

typedef struct reader_s

{

void * data;

ssize_t (*read)();

} reader_t;

ssize_t read_cb(reader_t * fd)

{

return fd->read(fd->data);

}

// Другие функции

// ...........................

Требуется этот код переписать с использованием классов, т.е. должно быть что-то вроде того:

// Новый код:

class MyClass

{

public:

typedef struct reader_s

{

void * data;

ssize_t (MyClass::*read)();

} reader_t;

ssize_t read_cb(reader_t * fd);

// Другие функции

// ..........................

};

ssize_t MyClass::read_cb(reader_t * fd)

{

return fd->MyClass::read(fd->data);

}

// Другие функции

// ..........................

Т.е. если раньше в fd->read(fd->data); вызывалась глобальная функция, то сейчас должна вызываться функция данного класса. (Приведенный новый код не компилируется, его и нужно поправить).

12 лет назад
tri777ki
Игорь 
46 летРоссия
17 лет в сервисе
Был
11 лет назад
  • Похожие заказы
  • $50

    Программа для автоматической подачи объявлений на региональный сайт. Адрес и техзадание выбранному исполнителю.

    Прикладное ПО1 исполнитель
    Завершен
    12 лет назад
  • $400

    Создание набора программ: А. Модуль захвата \ записи видео стрим потока с сайтов телеканалов Россия 24 и 1 ОРТ (самый важный, делается первым) В. Модуль обращения удаленного ПК к серверу (средней значимости) Г. ...

    Прикладное ПО1 исполнитель
    Завершен
    12 лет назад
  • Необходимо создать утилиту, которая будет деформировать DIrectX окна и полноэкранный режим стороннего приложения при выводе нескольких проекторов на цилиндрический экран. Аналог IMMERSIVE Displey 2 lite.

    Закрыт
    12 лет назад
  • Нужно внести изменение в .iss скрипт для Inno Setup: 1. Во время деинсталляции или реинсталляции проверять закрыта ли программа, и закрывать ее в случае если она открыта 2. Внести запись в регистр (саму запись предоставлю).

    Прикладное ПО1 исполнитель
    Завершен
    12 лет назад
  • $1500

    Необходимо доработать приложение Picorange for Windows по списку задач. Работа full time. Требуются знание многопоточности, знание сетевых протоколов, умение разбираться в чужом коде, умение работать с системами версионирования (SVN), наличие Delphi XE. Указывайте примеры работ. Приложение, которое нужно ...

    Закрыт
    12 лет назад
  • Есть 2 компьютера, соединенных по локальной сети. На первом установлена ОС Линукс с Астериском. На втором - ОС windows с установленным программным SIP-софтфоном X-Lite, на который поступают входящие звонки от сервера Астериска. Нужно ...

    Закрыт
    12 лет назад
  • Есдть два компонента для Delphi 2007, которые делали для меня, исходники есть, CheckBoxEx (дополнительное свойство добавлено) и CheckComboBox. Нужно пофиксить по багу в каждом компоненте. Оплата WebMoney. Кидайте заявки.

    Закрыт
    12 лет назад
  • $50

    Ранее у меня стояла задача создать набор функций для работы с базой данных. ВАЖНЫЙ момент: данные функции должны были абсолютно автономно работать в рамках приложения написанного на C# под .NET2 (то есть для использования БД, ...

    Закрыт
    12 лет назад