id summary reporter owner description type status milestone component version severity resolution keywords cc 6930 jacobi_elliptic declaration issue hstong@… John Maddock "I have recently noticed an issue with the Boost Math library: ""../boost/math/special_functions/jacobi_elliptic.hpp"", line 141.46: 1540-1187 (S) ""template boost::math::jacobi_elliptic(T, T, T *, T *)"" must not have default arguments. ""../boost/math/special_functions/math_fwd.hpp"", line 721.42: 1540-0424 (I) ""jacobi_elliptic"" is declared on line 721 of ""../boost/math/special_functions/math_fwd.hpp"". As far as I understand from C++03 subclause 8.3.6 [dcl.fct.default] paragraph 4: For non-template functions, default arguments can be added in later declarations of a function in the same scope. the code present (preprocessed and grep'd below): #line 35 ""../boost/math/special_functions/math_fwd.hpp"" typename tools::promote_args::type jacobi_elliptic(T k, T theta, T* pcn, T* pdn, const Policy&); typename tools::promote_args::type jacobi_elliptic(T k, T theta, T* pcn, T* pdn); #line 12 ""../boost/math/special_functions/jacobi_elliptic.hpp"" inline typename tools::promote_args::type jacobi_elliptic(T k, T theta, T* pcn, T* pdn, const Policy&) static const char* function = ""boost::math::jacobi_elliptic<%1%>(%1%)""; inline typename tools::promote_args::type jacobi_elliptic(T k, T theta, T* pcn = 0, T* pdn = 0) does not appear to met the requirement of being a non-template function, and indeed has default arguments in a later declaration. " Bugs closed To Be Determined math Boost 1.49.0 Regression fixed