### 2870. Default value of parameter `theta` of `polar` should be dependent

**Section:** 28.4.7 [complex.value.ops] **Status:** C++20
**Submitter:** Japan **Opened:** 2017-02-03 **Last modified:** 2021-02-25 10:48:01 UTC

**Priority: **Not Prioritized

**View all other** issues in [complex.value.ops].

**View all issues with** C++20 status.

**Discussion:**

**Addresses JP 25**

Parameter `theta` of `polar` has the type of the
template parameter. Therefore, it needs to change the default initial value
to `T()`. The change of the declaration of this function in
28.4.2 [complex.syn] is accompanied by this change.

Proposed change:

template<class T> complex<T> polar(const T& rho, const T& theta = ~~0~~T());

*[2017-02 pre-Kona]*

(twice)

*[
2017-06-27 Moved to Tentatively Ready after 7 positive votes on c++std-lib.
]*

**Proposed resolution:**

This wording is relative to N4659.

Modify 28.4.2 [complex.syn], header `<complex>` synopsis, as indicated:

template<class T> complex<T> polar(const T&, const T& = ~~0~~T());

Modify 28.4.7 [complex.value.ops] as indicated:

template<class T> complex<T> polar(const T& rho, const T& theta = ~~0~~T());