Как создать экземпляр конструктора шаблонов с перечислением [duplicate]

Чтобы сделать это с помощью JS

Вы можете присоединить их непосредственно к контейнеру div, или вы можете нажать их в массив. Ниже показано, как добавить их в ваш div.

1) Когда вы храните свои изображения в хранилище, создайте ссылку на изображение в базе данных firebase со следующей структурой

/images/(imageName){
   description: "" , 
   imageSrc : (imageSource) 
}

2) Когда вы загружаете документ, вытащите все URL-адреса источника изображения из базы данных, а не в хранилище, с помощью следующего кода

$(document).ready(function(){

var query = firebase.database().ref('images/').orderByKey();
query.once("value").then(function(snapshot){

    snapshot.forEach(function(childSnapshot){

        var imageName = childSnapshot.key;
        var childData = childSnapshot.val();
        var imageSource = childData.url;

        $('#imageGallery').append("<div><img src='"+imageSource+"'/></div>");

    })
})
});
27
задан sth 19 May 2010 в 00:18
поделиться

3 ответа

Нет. В стандарте C ++ 03 говорится:

[Примечание: поскольку список аргументов явного шаблона следует за именем шаблона функции и потому, что шаблоны функций членов-членов преобразования и шаблоны-функции-члены-конструкторы вызываются без использования функции name, нет способа предоставить явный список аргументов шаблона для этих шаблонов функций.] (§14.5.2 / 5)

34
ответ дан James McNellis 5 September 2018 в 10:12
поделиться

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

template<class T>
struct id
{};

struct A {
  template<class T>
  A(id<T>);
};

A a=id<int>();

Изменить:

Обратите внимание: A a(id<int>()); не будет работать из-за самого досадного разбора. Он будет интерпретироваться как объявление функции. См. этот вопрос для дальнейшего объяснения.

8
ответ дан Community 5 September 2018 в 10:12
поделиться

нет, вы не можете создать экземпляр этого класса с помощью этого конструктора. НО:



struct A
{
  template < typename T >
  A(T const&);
};

Теперь вы можете.

3
ответ дан Crazy Eddie 5 September 2018 в 10:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: