const class 常对象
#include<iostream>using namespace std;
class Person
{
public:
void f() const
{
height=160;
}
int age;
mutable int height;
};
void test2()
{
const Person p;//报错,需要加上{}
}
int main()
{
test2();
system("pause");
return 0;
}
我用的clion,我想问一下test2函数中为什么const Person p报错:Default initialization of an object of const type 'const Person' without a user-provided default constructor,而改成const Person p{}就没问题??? 因为你的成员变量(比如 age 和 height)没有初始化。
#include<iostream>
using namespace std;
class Person
{
public:
void f() const
{
height = 160;
}
int age = 0; // <----------- 注意这里
mutable int height = 0; // <----------- 注意这里
};
void test2()
{
const Person p;
}
int main()
{
test2();
system("pause");
return 0;
} 傻眼貓咪 发表于 2022-7-11 17:05
因为你的成员变量(比如 age 和 height)没有初始化。
感谢!!!
页:
[1]