文章转载自:https://blog.csdn.net/biechusheng231/article/details/80034126
当我们在类声明文件(类.h)中定义了一个vector变量时,如果直接在其后对其初始化:
class A{
public:
A();
~A();
private:
vector<int> nums(10); //出错,不能直接调用vector的析构函数赋值
};
原因是在类声明.h 文件中不能直接调用vector类的析构函数赋值,应先定义为:vector lessons; 后在构造函数中,或者其他成员函数中进行重新赋值:
nums.resize(Length);
这样才能顺利使用。
本文讨论了在C++类声明中直接通过析构函数赋值给vector变量的错误做法,并提供了正确的解决方案——在构造函数或其他成员函数中使用resize()方法进行初始化。这有助于避免编译错误并确保类成员的正确初始化。
178

被折叠的 条评论
为什么被折叠?



