Вы не можете. Это то же самое, что параметр функции по умолчанию, где вы должны указать параметр a
, прежде чем сможете указать параметр b
, даже если оба имеют значения по умолчанию и вы хотите сохранить a
по умолчанию, например:
void foo(int a = 5, int b = 42);
Вы можете создать помощника, который создаст такую очередь, но в конце вам все равно придется указать второй аргумент, даже если вы просто хотите использовать значение по умолчанию.
Что-то вроде:
template <typename T, typename Comp>
using default_priority_queue = std::priority_queue<T, std::vector<T>, Comp>;