В C++ 0x для наследования конструкторов можно использовать ключевое слово с помощью
, например,
class B { B(int) {} };
class A : public B { using B::B; };
, которое неявно объявит конструктор A (int)
. Работает ли это с шаблонами?
class B { B(int) {} };
template<class T> class A : public T { using T::T; };
В T:: T
я ожидаю, что компилятор выяснит левую руку T
, так как использование оператора области для аргументов шаблона является нормальным, но выяснение того, что правая рука T
является конструктором, является частным случаем. На самом деле, кажется, что есть неоднозначность: что, если у меня есть метод под названием T
в B
, что я пытаюсь добавить перегрузки в A
(так компилятор интерпретирует такое объявление использования до C++ 0x)?
Как установить переменную сеанса в интеграционных тестах Rails (:user_id в моем случае)?
Очевидно, что тогда это не полный интеграционный тест, но учитывая, что в моем приложении аутентификация пользователя не может произойти без ручного взаимодействия с пользователем, могу ли я как-то работать и устанавливать сеансовую переменную вручную?
Пробовали следующее: «session» недоступен в этой области, open_session возвращает сеанс, который я не нашел способ обновления.