Мне известны только 2 варианта использования пустых угловых скобок <>
в шаблонах c ++:
1) При полной специализации шаблона, например
template<typename T>
class X
{};
template<>
class X<char>
{};
2Во время вызова шаблонной функции, какой тип аргумента может быть выведен, например,
template<typename T>
T add(T a, T b);
...
add<>(1, 2);
Но этот случай совершенно новый для меня, и я не могу понять значение такого синтаксиса (пожалуйста, посмотрите на rapidxml::xml_node<>*
):
class TestWidget : public GUI::Widget
{
public:
TestWidget(const std::string& name, rapidxml::xml_node<>* elem);
// ...
};
Какая семантика дана типу xml_node<>
здесь в параметре конструктора ???