Здравствуйте, tousled, Вы писали:
T> Доброго времени суток, уважаемые!
T>Есть макроопределение (в заголовках компилятора):
T>T>#ifdef UNICODE
T> #define GetObject GetObjectW
T>#else
T> #define GetObject GetObjectA
T>#endif // !UNICODE
T>
T>и есть класс:
T>T>clacc CTemp
T>{
T> CTemp(){GetObject()}
T> void GetObject();
T>};
T>
T>Так вот использование метода класса становится затруднительным.
T>Посоветуйте чего нибудь, пожалуйста. Разум возмущенный мой кипит, но удовлетворительного ответа не находит.
T>Не удовлетворительные варианты таковы (по ряду причин не подходят):
T>1. Переставить местами включение заголовков.
T>2. Воспользоваться #undef
.
T>3. Заменить макроопределение функцией.
T>4. Поменять имя метода.
T>Может у кого найдутся еще варианты?
Если не ошибаюсь, можно перед GetObject ставить "::", тогда будет вызываться глобальный метод (в данном случае — макро, как я понял), если не ставить, то, ясное дело, локальный.
А еще, если так не прокатит, можно просто рисовать "this->GetObject()"