templates ×8
Создан 07.01.2025
0
голоса
4
ответов
25
просмотров
Почему T не может быть выведен из Template<T>::Type?

Вопрос: Что не так с этим кодом?

У меня есть следующий код на C++, но компилятор выдает ошибку "could not deduce template argument for T". Я не понимаю, что именно вызывает эту ошибку. Вот сам код:

#include 

template
struct TMap
{
    typedef std::map Type;
};

template
T...
0
голоса
4
ответов
16
просмотров
Специализация шаблонного класса, где аргументом шаблона является другой шаблон

Описание проблемы:

Я хотел бы узнать, возможно ли сделать нечто подобное. У меня есть шаблонный класс, который иногда принимает объекты других шаблонных классов. Я хотел бы специализировать его (или только одну функцию-член) для конкретного шаблонного класса, но в "общей" форме этого класса....

0
голоса
0
ответов
15
просмотров
Как объявить вектор-участник того же класса?

Почему же, черт возьми, следующий фрагмент кода работает?

struct A { std::vector<A> subAs; };

Структура A является неполным типом, верно? Если бы это был вектор указателей на A, я бы понял. Но здесь я не понимаю, как это работает. Выглядит как рекурсивное определение.

0
голоса
3
ответов
20
просмотров
QT: Шаблонизированный класс с Q_OBJECT

Вопрос: Возможность использования шаблонного класса, наследующего от QObject, с макросом Q_OBJECT

Здравствуйте! У меня возникла проблема с использованием шаблонного класса, который должен наследоваться от QObject и содержать макрос Q_OBJECT в своем объявлении.

Я пытаюсь создать адаптер для...

7
голоса
5
ответов
37
просмотров
Хранение определений шаблонных функций C++ в .CPP файле

У меня есть шаблонный код, который я предпочел бы хранить в файле CPP, а не инлайн в заголовочном файле. Я знаю, что это можно сделать, если известно, какие типы шаблонов будут использоваться. Например:

.h файл

class foo
{
public:
    template 
    void do(const T& t);
};

**.cpp...

6
голоса
5
ответов
36
просмотров
Как проверить, имеет ли шаблонный класс член-функцию?

Можно ли написать шаблон, который изменяет свое поведение в зависимости от того, определена ли определённая функция-член в классе?

Вот простой пример того, что я хотел бы реализовать:

template
std::string optionalToString(T* obj)
{
    if (FUNCTION_EXISTS(T->toString))
        return...
7
голоса
5
ответов
43
просмотров
В чем разница между параметрами шаблона "typename" и "class"?

У меня возникли вопросы по поводу использования шаблонов в C++. Я заметил, что в объявлениях шаблонов используются два различных синтаксиса:

template 
template 

В чем разница между ними?

Кроме того, в приведенном ниже примере (из статьи на немецком Wikipedia о шаблонах) я хотел бы...

13
голоса
2
ответов
53
просмотров
Где и зачем нужно использовать ключевые слова "template" и "typename"?

В шаблонах, где и почему мне нужно указывать typename и template для зависимых имен? Что такое зависимые имена?

У меня есть следующий код:

template  // Tail тоже будет UnionNode.
struct UnionNode : public Tail {
    // ...
    template  struct inUnion {
        // Вопрос: где нужно...