Bir argüman için const referansı olan variadic şablon işlevi nasıl uzmanlaşılır?Değişken referansıyla varyant şablonu şablonu uzmanlığı
Örnek:
error: use of deleted function ‘T foo(Args ...) [with T = int; Args = {int, const char*, Test}]’
auto i = foo<int>(10, "test string!", t);
Yukarıdaki kod derler:
template<typename T, typename... Args>
T foo(Args... args) = delete;
template<> int foo(int a, const char* str, const Test& t) { .... } // Fails to compile
//template<> int foo(int a, const char* str, Test) { .... } // Ok
int main() {
auto i = foo<int>(10, "test string!", t);
return 0;
}
ilan const Test&
argümanı ile fonksiyon foo çağrılırken, derleyici silinen işleve özel fonksiyon ve yedeklerini görmek başarısız const referansını argümandan kaldırırsam iyi olur. Neyi yanlış yapıyorum?
kod here
Tabii ki, ben tamamen konusunda açık örnekleme unuttum. Cevabınız için teşekkürler! – Bected