c++编译器bug记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ssss1223ss/article/details/89608651

本文档意在记录工作中使用c++编译器(vc++、g++、clang++等)遇到的编译问题,虽然最终迂回解决,但不知其所以然,遂记录文档以便后面有时间思其所以然。

1. 禁用拷贝构造函数,非explicit单参构造函数,无法使用=显式初始化

1. 编译环境

$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

2. 代码举例

class A
{
public:
    A(const A&) = delete;
    A(int) {}
};

int main()
{
    A a = 1;
}

3. 编译错误

x.cc: In function ‘int main()’:
x.cc:10:11: error: use of deleted function ‘A::A(const A&)’
     A a = 1;
           ^
x.cc:4:5: error: declared here
     A(const A&) = delete;

4. 解决记录

  • 20190427 未解决

猜你喜欢

转载自blog.csdn.net/ssss1223ss/article/details/89608651