Вопросы по теме 'dependent-name'

Специализированная функция-член для нешаблонного класса в C ++
Я пытаюсь специализировать функцию-член шаблона нешаблонного класса, используя шаблонный параметр: #include <array> class C { public: template<class Container> void Foo( Container& ) { // ... } }; template<class T,...
2985 просмотров
schedule 28.04.2024

вызов функции шаблона базового класса шаблона
Возможный дубликат: Где и почему мне нужно поместить ключевые слова шаблона и typename? Вот код: template<typename T> class base { public: virtual ~base(); template<typename F> void foo() {...
22165 просмотров
schedule 11.02.2022

Является ли тип функции зависимым, если он зависит только от собственных параметров шаблона?
Я столкнулся с несоответствием в том, как современные компиляторы C++ (clang/gcc) определяют, является ли имя зависимым. В следующем примере A::f является зависимым, а ::f — нет, что приводит к ошибке при использовании последнего....
195 просмотров

static_assert зависит от параметра шаблона, отличного от типа (различное поведение в gcc и clang)
template <int answer> struct Hitchhiker { static_assert(sizeof(answer) != sizeof(answer), "Invalid answer"); }; template <> struct Hitchhiker<42> {}; При попытке отключить создание общего шаблона с помощью static_assert я...
1472 просмотров

Тип возврата условного оператора и двухэтапный поиск
Рассмотрим следующий фрагмент: struct Base { }; struct Derived : Base { }; void f(Base &) { std::cout << "f(Base&)\n"; } template <class T = int> void g() { Derived d; f(T{} ? d : d); // 1 } void f(Derived &) {...
1116 просмотров

Различия в поиске имен между g++ и MSVS
Рассмотрим этот код: #include <iostream> namespace N { class A {}; void f(A a) { std::cout << "N::f\n"; } } void f(int i) { std::cout << "::f\n"; } template <typename T> class Base { public: void f(T x) {...
580 просмотров