Default template arguments for function templates

Why are default template arguments only allowed on class templates? Why can’t we define a default type in a member function template? For example:

struct mycclass {
  template<class T=int>
  void mymember(T* vec) {
    // ...
  }
};

Instead, C++ forces that default template arguments are only allowed on a class template.

5 Answers
5

Leave a Comment