Результаты поиска по запросу "templates"

3 ответа

ODR

ю в виду этот ответ: https://stackoverflow.com/a/4447057/930315 [https://stackoverflow.com/a/4447057/930315] Я столкнулся с тем же вопросом, что и ОП процитированного вопроса, имея функцию template<typename T> void func(T& val);и его ...

2 ответа

Это определенно проясняет ситуацию. Я бы, наверное, никогда не подошел бы к этому самому анализу стандарта. Я думаю, что понял, спасибо!

отрим простой пример: template <class T> struct tag { }; int main() { auto foo = [](auto x) -> decltype(bar(x)) { return {}; }; tag<int> bar(tag<int>); bar(tag<int>{}); // <- compiles OK foo(tag<int>{}); // 'bar' was not declared in this scope ...

3 ответа

И добавьте ваши классы и пакеты, которые будут игнорироваться здесь

класс используется в проекте Java в Eclipse, и он еще не импортирован, и существует только один класс с таким именем, Eclipse автоматически импортирует его. Если есть два или более классов с одинаковым простым именем, Eclipse ...

ТОП публикаций

3 ответа

 само по себе это не означает, что вы специализируете шаблон, а просто указываете, что вы создаете экземпляр с типом std :: string. (Слово «структура» не обязательно для этого, но все же разрешено).

е синтаксис, с которым я знаком, но я видел его вДругой вопрос [https://stackoverflow.com/questions/2454905/force-type-of-c-template/2458547#2458547] Примером является: template<> struct Allowed<std::string> { };Что значитtemplate<> на самом ...

5 ответов

обычно компилятор не может вывести аргумент templpate в этом случае (это проблема, связанная с шаблоном).

у написать шаблонную функцию таким образом template<class T> void f(T x) {...}или так template<class T> void f(T const& x) {...}Я предполагаю, что второй вариант может быть более оптимальным, поскольку он явно избегает копирования, но ...

1 ответ

Так что это очень незначительная вещь. Это меня не особо привлекает. Но это было опрятно.

у шаблонный класс и хочу, чтобы дополнительный метод существовал только для определенного типа шаблона. В настоящее время метод существует для всех типов шаблонов, но вызывает ошибку компиляции для всех других типов. Сложность в том, что это ...

1 ответ

О, хорошо, это даже компилируется со всеми тремя.

из тех, "какой компилятор прав", вопросы о шаблонах. Подумайте о следующем: template<typename T> class Container { public: template<typename V> class iterator; }; template<typename T> template<typename V> class Container<T>::iterator { public: ...

2 ответа

 сама специализация, а не шаблон.

.deduct.type] пункт 8 [http://eel.is/c++draft/temp.deduct.type#8]перечисляет все выведенные контексты, но, похоже, не включаетtemplate-name<TT> гдеtemplate-name относится к шаблону класса иTT ссылается на аргумент шаблона шаблона. Это выведенный ...

1 ответ

 лямбда все еще возвращается

для примера скажем, у меня есть 3 простыхstructс, второй из которых не содержитbar метод: struct one { void foo(const int); void bar(); }; struct two { void foo(const int); }; struct three { void foo(const int); void bar(); };Тогда у ...

2 ответа

@AntonyHatchkins Ах, правда - я не смотрел на источник исходного вопроса, просто как он появился на моем экране. Я добавлю +1 и исправлю свой первоначальный ответ, чтобы заметить путаницу в отношении исходного вопроса.

я есть шаблонная функция с одним аргументом. Я должен создать экземпляр этой функции без вызова этой функции означает, что я должен создать экземпляр. У меня есть эта функция: template <class T> int function_name(T a) {}Я создал эту функцию ...