Re[11]: Универсальная прокси-функция.
От: CEMb  
Дата: 29.09.15 09:07
Оценка:
Здравствуйте, T4r4sB, Вы писали:

CEM>>Нет, нельзя. Твоя доработка сильно утяжелит внутреннюю структуру классов, кому это нужно, при условии, что не будет использоваться? Не, ты можешь пообщаться с авторами, предложить идею. Вот к примеру, архитектурное решение с виртуальными таблицами методов в классе существует, их можно включить и выключить. Если получится ровно так же, я не против.


TB>Чего-чего, внутренняя структура, виртуальные таблицы?

TB>Я же написал: рефлексия времени компиляции.
TB>Не, ты точно читаешь очень невнимательно, торопясь вставить очередную коронную фразу.

А, да, каюсь, я не прав про классы, это про время компиляции.

Проблема определения на момент компиляции наличия у класса метода с нужной сигнатурой решается, например, шаблонами.
class CGood
{
protected:
    void foo(const int& i){};
};
class CBad
{
protected:
    void foo(int& i){};
};

template<class T> class CT: public T
{
public:
    CT(const int& i);
};

template<class T> CT<T>::CT(const int& i)
{
    foo(i);
}

// once in code:

    CT<CGood> cg(1);    // OK
    CT<CBad> cb(1);    // Error
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.