[Bug c++/86730] use of deleted copy constructor (I am not using it)

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jul 31 09:49:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86730

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Asif from comment #0)
> gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
> 
> //Below code does not compile, I am not using the copy constructor

You are using it.

, it seems
> to work fine in Vs2013, CLANG (experimental P1144), tested using
> https://godbolt.org/
> 
> 
> struct A1{
>   A1(int y){}
>   A1(const A1 &a1)=delete;
> };
> 
> int main()
> {
>     A1 a1_=6;

This is copy-initialization, see
https://en.cppreference.com/w/cpp/language/copy_initialization which explains
that the copy constructor is required to be accessible, even if the actual call
optimised away.

Your code is valid in C++17, but not C++11 or C++14.


More information about the Gcc-bugs mailing list