Когда в документации сказано: " Параметры шаблона C ++ также можно использовать в качестве получателей или параметров (хотя и не в качестве селекторов) в выражениях сообщений Objective C ", это означает, что вы можете вызвать Objective -C метод из шаблонного класса или функции C ++, но вы не можете создать шаблонный метод Objective-C.
Например:
template<typename T>
void f(id obj, T t) {
[obj doSomethingWithObject:t];
}
... должно работать (хотя я не проверял это). Конечно, тип, используемый при вызове f
, должен был бы быть чем-то, что могло бы быть корректно передано в качестве параметра doSomethingWithObject:
, иначе код вызова не скомпилируется.