Öncelikli sıran nesnesi örneklemesini anlamak için aşağıdaki kodu kullanıyorum.Priorty_queue örneğinde karşılaştırıcı için şablon parametresi neden sorulmuyor?
#include <queue>
#include <functional>
int main(int argc, char *argv[])
{
std::priority_queue<int, std::vector<int>, std::greater<>> int_min_heap;
return 0;
}
priority_queue şablonunun üçüncü parametresi karşılaştırıcı işlevdir. Görüldüğü gibi 'std :: büyük' kullandım. Ben şablon örnekleme (benim uyarınca) std :: doğru şekilde yani daha hiç Paramtre vermediği bu derleme başarısız bekliyordum rağmen
Bu
başarıylastd::priority_queue<int, std::vector<int>, std::greater<int>> int_min_heap;
edilir derleme Giriş parametresi olmadan std :: büyük tanımını bulabilirim.
Anlayışta neleri kaçırdığımı gösterebilir misiniz?
şablon 'std :: büyük' parametresinin 'void' olan bir varsayılan argümanı vardır. –
"* Giriş parametresi olmadan std :: büyüklüğünün herhangi bir tanımını bulamamış olabilirim. *" Bir tane mi arıyorsunuz? "(Http://en.cppreference.com/w/cpp/utility/functional/greater –
@NicolBolas [www.cplusplus.com/](http://www.cplusplus.com/reference/functional/greater/] adresinde kontrol ettim ve bu karışıklık kaynağıydı. Hemen her zaman referans için cplusplus.com'a gidiyorum. Şimdi de cppreference.com kontrol etmek için sebep var. Teşekkürler. – UnSat