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

4 ответа

 - теперь любой вариационный пакет может быть сопоставлен с

периментировал с вариабельными шаблонами C ++ 0x, когда наткнулся на эту проблему: template < typename ...Args > struct identities { typedef Args type; //compile error: "parameter packs not expanded with '...' }; //The following code just shows ...

1 ответ

 действительно будет пустым в этой ситуации.

отрим следующий код: template <typename... Types> struct list { template <typename... Args> list(Args...) { static_assert(sizeof...(Types) > 0); } }; template <typename... Args> list(Args...) -> list<Args...>; int main() { list l{0, 0.1, 'a'}; ...

2 ответа

Сложности, возникающие здесь, в основном такие же, как и в случае унаследованного конструктора. Фейсал Вали (один из других разработчиков метода вывода аргументов шаблонов классов) имеет конкретный план, как заставить такие случаи работать, но комитет C ++ еще не обсуждал это расширение.

#include <utility> template<class T1, class T2> struct mypair : std::pair<T1, T2> { using std::pair<T1, T2>::pair; }; int main() { (void)std::pair(2, 3); // It works (void)mypair(2, 3); // It doesn't work }орошо сформировано? Можно ли вывести ...

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

5 ответов

Вы не можете объединить два или более строковых литералов, ожидающих получить один строковый литерал (если вы не хотите использовать макросы). Но в зависимости от поставленной задачи вы можете вернуть функцию-шаблон, например, std :: string, которая представляет собой конкатенацию строковых литералов. Последнее тривиально.

аюсь определить некоторый шаблон variadic как это: typedef const char CCTYPE[]; template<CCTYPE X, CCTYPE... P> struct StringConcat { ... };чтобы я мог написать что-то вроде: char foo[] = "foo"; char bar[] = "bar"; std::cout << ...

3 ответа

Как имитировать объявление переменной шаблона

У меня есть базовый типItem<N> который зависит от целочисленного параметра шаблонаN и классData который содержит случаиItem<N> для нескольких разныхN. Вот пример: template<unsigned N> struct Item { ... }; // some template data type struct ...

1 ответ

 - Было бы хорошо, если бы это было реализовано!

лжающийсямое путешествие в мир вариационных шаблонов [https://stackoverflow.com/q/4691657/20984]Я столкнулся с другой проблемой. Предполагая следующий класс шаблона: template < typename T > struct foo { //default implementation };можно ...

4 ответа

Объединяя биты, кажется, это должно работать:

ода ниже: #include <iostream> #include <string> using namespace std; class Foo2; class Foo3; template <class T> class Foo1 { public: Foo1(); void print() { cout << "My name is: " << name << endl; } T getNext(){ return nextLink; } string name; ...

3 ответа

закрыть, но вам нужно экранировать переменную <xsl: element name = "{$ elemName}">

я есть входящий XML-файл со структурой списка: <list> <listItem> <name>elementOne</name> <value>elementOneValue</name> </listItem> <listItem> <name>elementTwo</name> <value>elementTwoValue</name> </listItem> </list>Который я пытаюсь ...

1 ответ

http://msdn.microsoft.com/en-us/library/6db0hwky.aspx

ел бы настроить VS2010 таким образом, чтобы при каждом создании нового исходного файла включалась преамбула комментария (которая будет содержать лицензию). Наша насущная потребность в C #, но было бы неплохо предопределить разные ...

1 ответ

gcc.gnu.org/bugzilla/show_bug.cgi?id=38950

омпилятор ведет себя странно, когда я пытаюсь передать массив фиксированного размера в функцию шаблона. Код выглядит следующим образом: #include <algorithm> #include <iostream> #include <iterator> template <typename TSize, TSize N> void f(TSize ...