çağırmak için ben şablon yöntemi olarak verilen arama için uygun sözdizimi nedir merak ediyorumsözdizimi şablonu yöntem
print_ch printer('c');
printer.operator()<int>();
Ve o iş gibi görünüyor (GCC 4.5), ama başka bir şablonu yöntem içinde kullandığınızda, örneğin:
struct printer {
typedef int print_type;
template<typename T_functor>
static void print(T_functor& fnct) {
fnct.operator()<print_type>();
}
};
Derlemebaşarısız olur. Doğru olana dair bir fikrin var mı? Şimdiden teşekkürler. Eğer template
anahtar kelime ile bu belirtmezseniz
fnct.template operator()<print_type>();
derleyici operator()
sadece olduğunu kabul edecektir:
O kadar daha temiz sadece düzenli bir işlev oluşturun. Operatörler tutumlu ve uygun olduğunda kullanılmalıdır. – JoshD
@JoshD Teşekkürler, haklısınız, bu yeniden gözden geçirmem gerekecek Bu – erjot
Gerçekten de, 'operator() 'aşırı yüklenmesi burada anlam ifade etmiyor çünkü normal bir işlev olarak aynı sözdizimi ile çağrılmıyor çünkü amacı tamamen yendi. – UncleBens