Calling a function with an integral type as a template parameter results in compiler error

28 Views Asked by At

I have the following class

template <typename ScalarT, std::size_t Dims = 3, std::size_t LeafMaxSize = 15>
class KDTreeFlann {
  template <size_t CNT>
  void SearchHybridParallel(...);
}

The I instantiate it and want to call it like this:

KDTreeFlann<TypeParam, 3> kdtree(points);
kdtree.SearchHybridParallel<2>(...);

However, I get a compiler error:

error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘int’ to binary ‘operator<’
   kdtree.SearchHybridParallel<2>(...);
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~

It parses the expression as kdtree.SearchHybridParallel < 2 and I don't know what I am doing wrong.

0

There are 0 best solutions below