Поделиться через


Размещение угловых скобок

Первая открывающая квадратная скобка после имени шаблона интерпретируется как часть списка аргументов шаблона, а не оператор "больше чем". Первый элемент > после открывающей угловой скобки интерпретируется как окончание списка аргументов шаблона, если только он не включен в скобки, не является частью вложенного шаблона или выражения приведения в стиле шаблона, например static_cast<int>.

Неправильное размещение угловых скобок (<>) вызывает множество синтаксических ошибок шаблона. Убедитесь, что используются нужный интервал и тип скобок для различения угловых скобок от операторов, таких как >, >> и ->. Например:

TempClass< float, a > b ? a : b > test1;

необходимо переписать в следующем виде.

TempClass< float, (a > b ? a : b) > test1;

Кроме того, необходимо проявлять особое внимание при использовании макросов, в которых угловые скобки используются как аргументы шаблонов.

См. также

Другие ресурсы

Шаблоны