Zaten örneğin here ele alındığı gibi, c değişkeni bağımsız değişken ++ olan bir işlev için stdarg.h
yol biliyorum. Ayrıca biliyorum C++ 11 standart here açıklandığı gibi variadic şablonları vardır. bilinen türde bağımsız değişken ile yapılan bir fonksiyonu, C++ 11 yolu
Ama biz bilmiyoruz (ve biz zorlayamaz) afaik derleme zamanında argüman türleri yukarıda belirtilen iki şema içinde
. Aradığım şey, bilinen tür değişken değişkenlerini bir işleve aktarmaktır. onlar kısıtlamalar empoze yok çünkü genellikle daha iyi bir seçimdir, aynı zamanda bağımsız değişken sayısı almak işlevler oluşturmak için kullanılabilirDeğişkin şablonları: Ben bunun here hakkında okuyun çünkü bu yapılabilir düşünüyorum argüman türleri, integral ve kayar nokta promosyonları gerçekleştirmeyin ve güvenli yazın.
Mümkün mü? Eğer evet ise, bunu nasıl yapabilirim? Değişken parametreler tek türdeki tüm iseniz
Sanırım her şey yanlış anlaşılmadı. İkinci yolu biliyordum, ama her zaman, parametrelerin türü üzerinde kontrol olmadığını düşündüm. Bu doğru değil. işlev, bilinen bir türün ilk parametresini aldığından (burada dizgi), bu türdeki parametrelere sahip olması zorunludur. Teşekkür ederim. – melmi
İlk önce ikinci kod kutusunu taşımak isteyebilirsiniz. 'Initializer_list' sürümü değilken, problem için çok iyi bir çözüm. SFINAE ile böyle büyük, karmaşık bir şey yayınlayacaktım, ama bu çok daha mantıklı. –
böyle, std :: initializer_list sürümü etrafında variadic şablon sarmalayıcı oluşturarak, std :: initializer_list ve variadic şablon yaklaşım hem karıştırın eğer gerçekten küme parantezi kullanarak kaçınabilir @nosid: (http [coliru görmek]: //coliru.stacked-crooked.com/a/4baef67192a0310c). –