• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

C++类声明错误

day_day 2019-04-03 浏览量:862

class A{
    A();
};

A::A()
{

}


报错:error: multiple definition of `A::A()'


我真的不理解了,这不是很正常,为什么会重复定义了?

用的是QT5.12,编译链mingw7,怎么这么神奇的?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:3
  • 构造函数属于公有函数,在第二行A();前面加个public:试试看,在C++里不加public默认是私有函数的

  • C++的struct里面的成员。如果没有声明它的读写权限,那它的默认权限就是private

    private类型的变量只能在类里面被访问,不能在类外边被定义或者访问,因此这里可以将A的类型改为public

  • 找到原因了,是因为我在QT中加入了两次这个文件,导致pro里面包含了两次这个文件,在里面的任何东西都会重复定义

相关问题

问题达人换一批

C++类声明错误