This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 118c. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2025-10-11
[Voted into the WP at the November, 2010 meeting.]
N3092 comment GB 18The example in 6.8.4 [basic.life] paragraph 9 reads,
    struct B {
      B();
      ~B();
    };
    const B b;
    void h() {
      b.~B();
      new (&b) const B;  // undefined behavior
    }
Assuming that the placement new is intended to use the operator defined in the Standard library, the new-expression is ill-formed, because there is no implicit conversion from “pointer to const B” to void*.
Proposed resolution (August, 2010):
Change the example in 6.8.4 [basic.life] paragraph 9 as follows:
    ...
    new (const_cast<B *>(&b)) const B;  // undefined behavior
    ...