В GCC тоже всё просто. Вложенная функция имеет доступ к локальным переменным внешней функции. Следовательно, можно определить локальную переменную с указателем на экземпляр класса, например, определить вложенную функцию и передать её адрес как callback. Внутри вложенной функции получить указатель на экземпляр класса и сделать что нужно. Не знаю, работает ли в G++... Проверять лень.